Jumat, 23 Mei 2014

DECISION SUPPORT SYSTEM (Sistem Pendukung Keputusan)


Arsitektur Sistem Pendukung Keputusan

Pendahuluan

Decision Support Systems (DSS) atau system pendukung keputusan adalah serangkaian kelas tertentu dari system informasi terkomputerisasi yang mendukung kegiatan pengambilan keputusan bisnis dan organisasi. Suatu DSS yang dirancang dengan benar adalah suatu system berbasis perangkat lunak interaktif yang dimaksudkan untuk membantu para pengambil keputusan mengkompilasi informasi yang berguna dari data mentah, dokumen, pengetahuan pribadi, dan/atau model bisnis untuk mengidentifikasikan dan memecahkan berbagai masalah dan mengambil keputusan.
System pendukung keputusan atau DSS digunakan untuk mengumpulkan data, menganalisa dan membentuk data yang dikoleksi, dan mengambil keputusan yang benar atau membangun strategi dari analisis, tidak pengaruh terhadap computer, basis data atau manusia penggunanya.
Informasi yang biasanya dikumpulkan dengan menggunakan aplikasi pendukung keputusan akan melakukan:
  • Mengakses semua asset informasi terkini, termasuk data legasi dan relasional, kompulan data, gudang data, dan kumpulan jumlah besar data.
  • Angka-angka penjualan antara satu periode dengan periode lainnya.
  • Angka-angka pendapatan yang diperkirakan, berdasarkan pada asumsi penjualan produk baru.
  • Konsekuensi pilihan-pilihan pengambilan keputusan yang berbeda, dengan pengalaman dalam suatu konteks yang dirinci ulang.
Sudah begitu banyak perusahaan di berbagai industri yang bergantung pada perangkat, teknik dan pemodelan pendukung keputusan, untuk membantu mereka menganalisa dan memecahkan beragam pertanyaan bisnis sehari-hari. System pendukung keputusan bersifat tergantung oleh data, sebagaimana keseluruhan proses mengambil seluruh kumpulan data yang tersedia, untuk dianalisa.
Perangkat-perangkat, proses, dan metodologi pelaporan berbasis Business Intelligence adalah contoh penggunaan penting dalam system pendukung keputusan manapun, dan memberikan analisis data, pelaporan serta monitoring data yang sangat terpercaya kepada pengguna.
Persyaratan yang biasa dimiliki dalam penerapan Sistem Pendukung Keputusan Tingkat Tinggi:
  • Pengumpulan data dari beragam sumber (data penjualan, data inventori, data supplier, data riset pasar, dsb).
  • Penformatan dan penggunaan data.
  • Lokasi database yang sesuai serta pembangunan format untuk pembuatan laporan dan analisa berbasis pengambilan keputusan.
  • Perangkat dan aplikasi yang serba bisa dan mampu memberikan pelaporan, monitoring dan analisa terhadap data.
DSS Design Approach (Structured)

Berbagai Tipe Sistem Pendukung Keputusan (DSS):

Penting untuk dicatat bahwa DSS tidak memiliki suatu model tertentu yang diterima atau dipakai di seluruh dunia. Banyak teori DSS yang diimplementasikan, sehingga terdapat banyak cara untuk mengklasifikasikan DSS.
  1. DSS model pasif adalah model DSS yang hanya mengumpulkan data dan mengorganisirnya dengan efektif, biasanya tidak memberikan suatu keputusan yang khusus, dan hanya menampilkan datanya. Suatu DSS aktif pada kenyataannya benar-benar memproses data dan secara eksplisit menunjukkan beragam solusi berdasarkan pada data tersebut.
  2. DSS model aktif sebaliknya memproses data dan secara eksplisit menunjukkan solusi berdasarkan pada data yang diperoleh, walau harus diingat bahwa intervensi manusia terhadap data tidak dapat dipungkiri lagi. Misalnya, data yang kotor atau data sampah, pasti akan menghasilkan keluaran yang kotor juga (garbage in garbage out).
  3. Suatu DSS bersifat kooperatif jika data dikumpulkan, dianalisa dan lalu diberikan kepada manusia yang menolong system untuk merevisi atau memperbaikinya.
  4. Model Driven DSS adalah tipe DSS dimana para pengambil keputusan menggunakan simulasi statistik atau model-model keuangan untuk menghasilkan suatu solusi atau strategi tanpa harus intensif mengumpulkan data.
  5. Communication Driven DSS adalah suatu tipe DSS yang banyak digabungkan dengan metode atua aplikasi lain, untuk menghasilkan serangkaian keputusan, solusi atau strategi.
  6. Data Driven DSS menekankan pada pengumpulan data yang kemudian dimanipulasi agar sesuai dengan kebutuhan pengambil keputusan, dapat berupa data internal atua eksternal dan memiliki beragam format. Sangat penting bahwa data dikumpulkan serta digolongkan secara sekuensial, contohnya data penjualan harian, anggaran operasional dari satu periode ke periode lainnya, inventori pada tahun sebelumnya, dsb.
  7. Document Driven DSS menggunakan beragam dokumen dalam bermacam bentuk seperti dokumen teks, excel, dan rekaman basis data, untuk menghasilkan keputusan serta strategi dari manipulasi data.
  8. Knowledge Driven DSS adalah tipe DSS yang menggunakan aturan-aturan tertentu yang disimpan dalam komputer, yang digunakan manusia untuk menentukan apakah keputusan harus diambil. Misalnya, batasan berhenti pada perdagangan bursa adalah suatu model knowledge driven DSS.

Implementasi DSS di Dunia Kerja

Konsep implementasi DSS di dunia kerja yang kali ini diambil oleh penulis adalah penerapan Business Intelligence dalam pengumpulan data serta presentasi data dalam suatu bentuk Dashboard. Bidang industri perusahaan yang dijadikan contoh adalah maskapai penerbangan atau airline industry.
Teknologi aplikasi yang digunakan adalah system aplikasi berbasis web dan dapat diakses pada suatu URL tertentu dari PC/laptop/tablet milik pengguna dengan kapasitas minimum, kapan saja dan dimana saja pengguna berada.
Metodologi, proses serta perangkat pelaporan Business Intelligence atau BI adalah komponen kunci yang memberikan analisa data, pelaporan dan monitoring yang kaya kepada pengguna sistem.
Secara garis besar, proses yang terjadi kurang lebih adalah seperti digambarkan dalam diagram dibawah ini, dimana;
  • System akan mengumpulkan semua data baik data master dan juga data transaksi dari setiap aplikasi yang digunakan semua departemen dalam perusahaan, untuk kemudian dilakukan analisis What-if tergantung dari laporan apa yang diinginkan oleh pihak manajemen.
  • Hasil analisis tersebut akan menentukan keputusan apa yang harus diambil oleh manajemen.
  • Terlihat dibawah, berbagai departemen yang mengaksesnya antara lain Personalia (Human Resource/HRD), Keuangan (Accounting), Produksi/Operasional, Pemasaran/Marketing, Distribusi/Pengiriman, serta divisi lain, yang semuanya berada dibawah manajemen perusahaan.
Alur DSS untuk Sistem Informasi Akuntansi
Alur DSS untuk Sistem Informasi Akuntansi
Struktur Alur Data Dalam Aplikasi Business Intelligence
Pelaporan yang ingin dilihat oleh tingkat manager dalam manajemen perusahaan tersebut akan tampil dalam aplikasi Dashboard yang interaktif dan dapat dikustomisasi sesuai keinginan user/ pengguna aplikasi. Contoh dashboard tersebut adalah seperti dibawah ini.
Sebelumnya, perlu diingat bahwa aplikasi dashboard juga memiliki beragam kategori per divisi, dimana setiap divisi/departemen dalam suatu perusahaan biasanya menggunakan jenis data yang berbeda, serta mengakses data dalam cara yang berbeda pula. Laporan dan hasil analisis yang diperlukan juga otomatis berbeda, begitu pula bentuk pelaporan yang diperlukan tiap-tiap divisi tersebut, sebagaimana digambarkan dalam diagram dibawah.
Pembagian Kategori Dashboard Berdasarkan Penitikberatan Pengambilan Informasi Perusahaan
Manfaat Penggunaan Aplikasi Terapan DSS/Decision Support System dalam Bentuk Business Intelligence Dashboard;
  1. Mempermudah dilakukannya analisa terhadap data master dan juga data transaksi perusahaan untuk kemudian menghasilkan berbagai laporan yang akan mendukung proses pengambilan keputusan oleh pihak manajemen perusahaan.
  2. Memberikan tampilan yang lebih enak dilihat dan lebih professional yang disesuaikan dengan kultur serta bidang bisnis perusahaan yang menggunakan aplikasi ini.
  3. Memberikan informasi terkini terhadap pergerakan angka-angka dalam perusahaan, atau bahkan bersifat real-time. Contohnya dalam hal ini; adalah pergerakan angka penjualan tiket pesawat setiap harinya, atau pergerakan angka kedatangan dan keberangkatan pesawat dari seluruh bandara di Indonesia (hasil kegiatan operasional perusahaan).
Contoh implementasi aplikasi Business Intelligence – Dashboard sebagai ajuan system pendukung keputusan/decision support system yang hendak diimplementasikan dalam perusahaan:
Prototipe Tampilan Dashboard untuk Pengaplikasian Business Intelligence bagi Sistem Pendukung Keputusan, Dibuat Menggunakan Tool Xcelcius Disambungkan ke Warehouse SAP-Business Intelligence
Prototipe Tampilan Dashboard untuk Pengaplikasian Business Intelligence bagi Sistem Pendukung Keputusan, Dibuat Menggunakan Tool Xcelcius Disambungkan ke Warehouse SAP-Business Intelligence
Elemen-elemen yang ditampilkan:
  1. Grafik keseluruhan angka penjualan tiket yang dihasilkan tim Sales setiap harinya dimana manajemen dapat meilhat pergerakan terakhir yang terjadi satu jam sebelum pengaksesan dashboard.
  2. Grafik keseluruhan angka penjualan tiket yang dihasilkan pada satu hari sebelum pengaksesan dashboard (H-1)
  3. Grafik keseluruhan angka penjualan secara mingguan (pergerakan mingguan).
  4. Grafik keseluruhan angka penjualan secara bulanan (pergerakan bulanan).
  5. Grafik keseluruhan angka penjualan secara tahunan (pergerakan tahunan).
  6. Grafik penjualan per staff sales untuk mengukur kinerja masing-masing personel.
  7. Grafik pembelian dari setiap klien yang kategorinya adalah:
    1. Pembelian per klien Travel Agent
    2. Pembelian per perusahaan
    3. Pembelian per wilayah kota penjualan di Indonesia; semua kota yang memiliki bandara (missal Jakarta, Bandung, Surabaya, dan lainnya).

Pengertian Sistem Pendukung Keputusan

Sistem pendukung keputusan (SPK) adalah bagian dari sistem informasi berbasis komputer termasuk sistem berbasis  pengetahuan atau manajemen pengetahuan yang dipakai untuk mendukung pengambilan keputusan dalam suatu organisasi atau perusahaan. Dapat juga dikatakan sebagai sistem komputer yang mengolah data menjadi informasi untuk mengambil keputusan dari masalah semi terstruktur yang spesifik.
Menurut Moore dan Chang (Principle of Service Marketing : 1980) yang diterjemahkan oleh Masrun (Turban dkk : 1995) , sistem pendukung keputusan dapat digambarkan sebagai “sistem yang berkemampuan mendukung analisis ad hocdata, dan pemodelan keputusan, berorientasi keputusan, orientasi perencanaan masa depan dan digunakan pada saat-saat yang tidak biasa”.
         Sedangkan menurut Keen dan Scoot Morton, (Principles of Management : 1968) dalam (Turban dkk, 2005 : 137) sistem pendukung keputusan merupakan “penggabungan sumber-sumber kecerdasan individu dengan kemampuan komponen untuk memperbaiki kualitas keputusan. Sistem pendukung keputusan juga merupakan sistem informasi berbasis komputer untuk manajemen pengambilan keputusan yang menangani masalah-masalah semi struktur”.
         Dengan pengertian diatas, dapat diambil suatu kesimpulan bahwa sistem pendukung keputusan bukan merupakan alat pengambilan keputusan, melainkan merupakan sistem yang membantu pengambil keputusan dengan melengkapi mereka dengan informasi dari data yang telah diolah dengan relevan dan diperlukan untuk membuat keputusan tentang suatu masalah dengan lebih cepat dan akurat. Sehingga sistem ini tidak dimaksudkan untuk menggantikan pengambilan keputusan dalam proses pembuatan keputusan.
         Menurut Azwar (Sistem Pendukung Keputusan : 1995), dari pengertian sistem pendukung keputusan maka dapat ditentukan karakteristik antara lain :
1.      Mendukung proses pengambilan keputusan, menitik beratkan pada management by perception.
2.      Adanya interface manusia atau mesin dimana manusia (user) tetap memegang kontrol proses pengambilan keputusan
3.      Mendukung pengambilan keputusan untuk membahas masalah terstruktur, semi terstruktur dan tidak terstruktur.
4.      Memiliki kapasistas dialog untuk memperoleh informasi sesuai dengan kebutuhan.
5.      Memiliki subsistem-subsistem yang terintegrasi sedemikian rupa sehingga dapat berfungsi sebagai kesatuan item.
6.      Membutuhkan struktur data komprehensif yang dapat melayani kebutuhan informasi seluruh tingkatan manajemen.

Jumat, 02 Mei 2014

Pengertian Sistem Pendukung Keputusan Dan Contoh Programnya


Sistem Pendukung Keputusan (SPK)
Sistem Pendukung Keputusan (S
Sistem Pendukung Keputusan (SPK) atau Decision Support System (DSS) adalah sebuah sistem yang mampu memberikan kemampuan pemecahan masalah maupun kemampuan pengkomunikasian untuk masalah dengan kondisi semi terstruktur dan tak terstruktur. Sistem ini digunakan untuk membantu pengambilan keputusan dalam situasi semi terstruktur dan situasi yang tidak terstruktur, dimana tak seorangpun tahu secara pasti bagaimana keputusan seharusnya dibuat (Turban, 2001).

SPK bertujuan untuk menyediakan informasi, membimbing, memberikan prediksi serta mengarahkan kepada pengguna informasi agar dapat melakukan pengambilan keputusan dengan lebih baik.

SPK merupakan implementasi teori-teori pengambilan keputusan yang telah diperkenalkan oleh ilmu-ilmu seperti operation research dan menegement science, hanya bedanya adalah bahwa jika dahulu untuk mencari penyelesaian masalah yang dihadapi harus dilakukan perhitungan iterasi secara manual (biasanya untuk mencari nilai minimum, maksimum, atau optimum), saat ini computer PC telah menawarkan kemampuannya untuk menyelesaikan persoalan yang sama dalam waktu relatif singkat.

Sprague dan Watson mendefinisikan Sistem Pendukung Keputusan (SPK) sebagai sistem yang memiliki lima karakteristik utama yaitu (Sprague et.al, 1993):
  1. Sistem yang berbasis komputer. 
  2. Dipergunakan untuk membantu para pengambil keputusan 
  3. Untuk memecahkan masalah-masalah rumit yang mustahil dilakukan dengan kalkulasi manual 
  4. Melalui cara simulasi yang interaktif 
  5. Dimana data dan model analisis sebaai komponen utama.

Komponen Sistem Pendukung Keputusan

Secara umum Sistem Pendukung Keputusan dibangun oleh tiga komponen besar yaitu database Management, Model Base dan Software System/User Interface. Komponen SPK tersebut dapat digambarkan seperti gambar di bawah ini.
Komponen Sistem Pendukung Keputusan (SPK)
Komponen Sistem Pendukung Keputusan (SPK)

a. Database Management

Merupakan subsistem data yang terorganisasi dalam suatu basis data. Data yang merupakan suatu sistem pendukung keputusan dapat berasal dari luar maupun dalam lingkungan. Untuk keperluan SPK, diperlukan data yang relevan dengan permasalahan yang hendak dipecahkan melalui simulasi.

b. Model Base

Merupakan suatu model yang merepresentasikan permasalahan kedalam format kuantitatif (model matematika sebagai contohnya) sebagai dasar simulasi atau pengambilan keputusan, termasuk didalamnya tujuan dari permaslahan (objektif), komponen-komponen terkait, batasan-batasan yang ada (constraints), dan hal-hal terkait lainnya. Model Base memungkinkan pengambil keputusan menganalisa secara utuh dengan mengembangkan dan membandingkan solusi alternatif.

c. User Interfase / Pengelolaan Dialog

Terkadang disebut sebagai subsistem dialog, merupakan penggabungan antara dua komponen sebelumnya yaitu Database Management dan Model Base yang disatukan dalam komponen ketiga (user interface), setelah sebelumnya dipresentasikan dalam bentuk model yang dimengerti computer. User Interface menampilkan keluaran sistem bagi pemakai dan menerima masukan dari pemakai kedalam Sistem Pendukung Keputusan.

Manfaat Sistem Pendukung Keputusan

SPK dapat memberikan berbagai manfaat dan keuntungan. Manfaat yang dapat diambil dari SPK adalah :
  1. SPK memperluas kemampuan pengambil keputusan dalam memproses data / informasi bagi pemakainya. 
  2. SPK membantu pengambil keputusan untuk memecahkan masalah terutama barbagai masalah yang sangat kompleks dan tidak terstruktur. 
  3. SPK dapat menghasilkan solusi dengan lebih cepat serta hasilnya dapat diandalkan. 
  4. Walaupun suatu SPK mungkin saja tidak mampu memecahkan masalah yang dihadapi oleh pengambil keputusan, namun dia dapat menjadi stimulan bagi pengambil keputusan dalam memahami persoalannya,karena mampu menyajikan berbagai alternatif pemecahan.

Contoh Program

 
Dim pertama(6) As Currency, a As Currency
Dim kedua(6) As Currency, b As Currency
Dim ketiga(6) As Currency, c As Currency
Dim keempat(6) As Currency, d As Currency
Dim satu, dua, tiga, empat, lima, enam As Currency
Dim terakhir(6) As Currency, akhir As Currency
Private Sub cmdkeluar_Click()
Unload Me
End Sub
Private Sub cmdbersih_Click()
On Error Resume Next
c1a.SetFocus
c1a.Text = ""
c2a.Text = ""
c3a.Text = ""
c4a.Text = ""
c1b.Text = ""
c2b.Text = ""
c3b.Text = ""
c4b.Text = ""
c1c.Text = ""
c2c.Text = ""
c3c.Text = ""
c4c.Text = ""
c1d.Text = ""
c2d.Text = ""
c3d.Text = ""
c4d.Text = ""
c1e.Text = ""
c2e.Text = ""
c3e.Text = ""
c4e.Text = ""
c1f.Text = ""
c2f.Text = ""
c3f.Text = ""
c4f.Text = ""
p1.Text = ""
p2.Text = ""
p3.Text = ""
p4.Text = ""
r1a.Text = ""
r2a.Text = ""
r3a.Text = ""
r4a.Text = ""
r1b.Text = ""
r2b.Text = ""
r3b.Text = ""
r4b.Text = ""
r1c.Text = ""
r2c.Text = ""
r3c.Text = ""
r4c.Text = ""
r1d.Text = ""
r2d.Text = ""
r3d.Text = ""
r4d.Text = ""
r1e.Text = ""
r2e.Text = ""
r3e.Text = ""
r4e.Text = ""
r1f.Text = ""
r2f.Text = ""
r3f.Text = ""
r4f.Text = ""
rc1.Text = ""
rc2.Text = ""
rc3.Text = ""
rc4.Text = ""
h1.Text = ""
h2.Text = ""
h3.Text = ""
h4.Text = ""
h5.Text = ""
h6.Text = ""
nama1.Text = ""
nama2.Text = ""
nama3.Text = ""
nama4.Text = ""
nama5.Text = ""
nama6.Text = ""
nm1.Caption = ""
nm2.Caption = ""
nm3.Caption = ""
nm4.Caption = ""
nm5.Caption = ""
nm6.Caption = ""
hasilnilai.Text = ""
gambar.Visible = False
End Sub
Private Sub cmdproses_Click()

pertama(0) = Val(c1a.Text)
pertama(1) = Val(c1b.Text)
pertama(2) = Val(c1c.Text)
pertama(3) = Val(c1d.Text)
pertama(4) = Val(c1e.Text)
pertama(5) = Val(c1f.Text)


pertamamaks = pertama(1)
For a = 0 To 5
    If pertama(a) > pertamamaks Then pertamamaks = pertama(a)
Next
r1a.Text = Val(c1a.Text) / pertamamaks
r1b.Text = Val(c1b.Text) / pertamamaks
r1c.Text = Val(c1c.Text) / pertamamaks
r1d.Text = Val(c1d.Text) / pertamamaks
r1e.Text = Val(c1e.Text) / pertamamaks
r1f.Text = Val(c1f.Text) / pertamamaks

r1a.Text = Format((r1a.Text), "0.00")
r1b.Text = Format((r1b.Text), "0.00")
r1c.Text = Format((r1c.Text), "0.00")
r1d.Text = Format((r1d.Text), "0.00")
r1e.Text = Format((r1e.Text), "0.00")
r1f.Text = Format((r1f.Text), "0.00")

kedua(0) = Val(c2a.Text)
kedua(1) = Val(c2b.Text)
kedua(2) = Val(c2c.Text)
kedua(3) = Val(c2d.Text)
kedua(4) = Val(c2e.Text)
kedua(5) = Val(c2f.Text)
keduamaks = kedua(1)
For b = 0 To 5
    If kedua(b) > keduamaks Then keduamaks = kedua(b)
Next
r2a.Text = Val(c2a.Text) / keduamaks
r2b.Text = Val(c2b.Text) / keduamaks
r2c.Text = Val(c2c.Text) / keduamaks
r2d.Text = Val(c2d.Text) / keduamaks
r2e.Text = Val(c2e.Text) / keduamaks
r2f.Text = Val(c2f.Text) / keduamaks

r2a.Text = Format((r2a.Text), "0.00")
r2b.Text = Format((r2b.Text), "0.00")
r2c.Text = Format((r2c.Text), "0.00")
r2d.Text = Format((r2d.Text), "0.00")
r2e.Text = Format((r2e.Text), "0.00")
r2f.Text = Format((r2f.Text), "0.00")

ketiga(0) = Val(c3a.Text)
ketiga(1) = Val(c3b.Text)
ketiga(2) = Val(c3c.Text)
ketiga(3) = Val(c3d.Text)
ketiga(4) = Val(c3e.Text)
ketiga(5) = Val(c3f.Text)
ketigamaks = ketiga(1)
For c = 0 To 5
    If ketiga(c) > ketigamaks Then ketigamaks = ketiga(c)
Next
r3a.Text = Val(c3a.Text) / ketigamaks
r3b.Text = Val(c3b.Text) / ketigamaks
r3c.Text = Val(c3c.Text) / ketigamaks
r3d.Text = Val(c3d.Text) / ketigamaks
r3e.Text = Val(c3e.Text) / ketigamaks
r3f.Text = Val(c3f.Text) / ketigamaks

r3a.Text = Format((r3a.Text), "0.00")
r3b.Text = Format((r3b.Text), "0.00")
r3c.Text = Format((r3c.Text), "0.00")
r3d.Text = Format((r3d.Text), "0.00")
r3e.Text = Format((r3e.Text), "0.00")
r3f.Text = Format((r3f.Text), "0.00")

keempat(0) = Val(c4a.Text)
keempat(1) = Val(c4b.Text)
keempat(2) = Val(c4c.Text)
keempat(3) = Val(c4d.Text)
keempat(4) = Val(c4e.Text)
keempat(5) = Val(c4f.Text)
keempatmaks = keempat(1)
For d = 0 To 5
    If keempat(d) > keempatmaks Then keempatmaks = keempat(d)
Next
r4a.Text = Val(c4a.Text) / keempatmaks
r4b.Text = Val(c4b.Text) / keempatmaks
r4c.Text = Val(c4c.Text) / keempatmaks
r4d.Text = Val(c4d.Text) / keempatmaks
r4e.Text = Val(c4e.Text) / keempatmaks
r4f.Text = Val(c4f.Text) / keempatmaks

r4a.Text = Format((r4a.Text), "0.00")
r4b.Text = Format((r4b.Text), "0.00")
r4c.Text = Format((r4c.Text), "0.00")
r4d.Text = Format((r4d.Text), "0.00")
r4e.Text = Format((r4e.Text), "0.00")
r4f.Text = Format((r4f.Text), "0.00")

satu = (Val(r1a.Text) * Val(p1.Text)) + (Val(r2a.Text) * Val(p2.Text)) + (Val(r3a.Text) * Val(p3.Text)) + (Val(r4a.Text) * Val(p4.Text))
dua = (Val(r1b.Text) * Val(p1.Text)) + (Val(r2b.Text) * Val(p2.Text)) + (Val(r3b.Text) * Val(p3.Text)) + (Val(r4b.Text) * Val(p4.Text))
tiga = (Val(r1c.Text) * Val(p1.Text)) + (Val(r2c.Text) * Val(p2.Text)) + (Val(r3c.Text) * Val(p3.Text)) + (Val(r4c.Text) * Val(p4.Text))
empat = (Val(r1d.Text) * Val(p1.Text)) + (Val(r2d.Text) * Val(p2.Text)) + (Val(r3d.Text) * Val(p3.Text)) + (Val(r4d.Text) * Val(p4.Text))
lima = (Val(r1e.Text) * Val(p1.Text)) + (Val(r2e.Text) * Val(p2.Text)) + (Val(r3e.Text) * Val(p3.Text)) + (Val(r4e.Text) * Val(p4.Text))
enam = (Val(r1f.Text) * Val(p1.Text)) + (Val(r2f.Text) * Val(p2.Text)) + (Val(r3f.Text) * Val(p3.Text)) + (Val(r4f.Text) * Val(p4.Text))

h1.Text = satu
h2.Text = dua
h3.Text = tiga
h4.Text = empat
h5.Text = lima
h6.Text = enam

terakhir(0) = Val(h1.Text)
terakhir(1) = Val(h2.Text)
terakhir(2) = Val(h3.Text)
terakhir(3) = Val(h4.Text)
terakhir(4) = Val(h5.Text)
terakhir(5) = Val(h6.Text)

h1.Text = Format((h1.Text), "0.000")
h2.Text = Format((h2.Text), "0.000")
h3.Text = Format((h3.Text), "0.000")
h4.Text = Format((h4.Text), "0.000")
h5.Text = Format((h5.Text), "0.000")
h6.Text = Format((h6.Text), "0.000")

terakhirmaks = terakhir(1)
For akhir = 0 To 5
    If terakhir(akhir) > terakhirmaks Then terakhirmaks = terakhir(akhir)
Next
hasilnilai.Text = terakhirmaks
hasilnilai.Text = Format((hasilnilai.Text), "0.000")
gambar.Visible = True
End Sub

Private Sub Image1_Click()
makeTransparent Me.hWnd, 50
End Sub

Private Sub nama1_Change()
nm1.Caption = nama1.Text
End Sub

Private Sub nama1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
SendKeys "{tab}"
End If
End Sub

Private Sub nama2_Change()
nm2.Caption = nama2.Text
End Sub

Private Sub nama2_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
SendKeys "{tab}"
End If
End Sub

Private Sub nama3_Change()
nm3.Caption = nama3.Text
End Sub

Private Sub nama3_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
SendKeys "{tab}"
End If
End Sub

Private Sub nama4_Change()
nm4.Caption = nama4.Text
End Sub

Private Sub nama4_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
SendKeys "{tab}"
End If
End Sub

Private Sub nama5_Change()
nm5.Caption = nama5.Text
End Sub

Private Sub nama5_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
SendKeys "{tab}"
End If
End Sub

Private Sub nama6_Change()
nm6.Caption = nama6.Text
End Sub
Private Sub c1a_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
SendKeys "{tab}"
End If
End Sub
Private Sub c2a_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
SendKeys "{tab}"
End If
End Sub
Private Sub c3a_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
SendKeys "{tab}"
End If
End Sub
Private Sub c4a_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
SendKeys "{tab}"
End If
End Sub

Private Sub c1b_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
SendKeys "{tab}"
End If
End Sub
Private Sub c2b_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
SendKeys "{tab}"
End If
End Sub
Private Sub c3b_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
SendKeys "{tab}"
End If
End Sub
Private Sub c4b_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
SendKeys "{tab}"
End If
End Sub

Private Sub c1c_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
SendKeys "{tab}"
End If
End Sub
Private Sub c2c_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
SendKeys "{tab}"
End If
End Sub
Private Sub c3c_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
SendKeys "{tab}"
End If
End Sub
Private Sub c4c_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
SendKeys "{tab}"
End If
End Sub

Private Sub c1d_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
SendKeys "{tab}"
End If
End Sub
Private Sub c2d_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
SendKeys "{tab}"
End If
End Sub
Private Sub c3d_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
SendKeys "{tab}"
End If
End Sub
Private Sub c4d_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
SendKeys "{tab}"
End If
End Sub

Private Sub c1e_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
SendKeys "{tab}"
End If
End Sub
Private Sub c2e_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
SendKeys "{tab}"
End If
End Sub
Private Sub c3e_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
SendKeys "{tab}"
End If
End Sub
Private Sub c4e_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
SendKeys "{tab}"
End If
End Sub

Private Sub c1f_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
SendKeys "{tab}"
End If
End Sub
Private Sub c2f_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
SendKeys "{tab}"
End If
End Sub
Private Sub c3f_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
SendKeys "{tab}"
End If
End Sub
Private Sub c4f_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
SendKeys "{tab}"
End If
End Sub
Private Sub nama6_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
SendKeys "{tab}"
End If
End Sub

Private Sub p1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
SendKeys "{tab}"
End If
End Sub
Private Sub p2_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
SendKeys "{tab}"
End If
End Sub
Private Sub p3_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
SendKeys "{tab}"
End If
End Sub
Private Sub p4_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
SendKeys "{tab}"
End If
End Sub