Tecnologia, programação e muito Visual FoxPro.

domingo, 2 de janeiro de 2011

Re: ]] XL-mania [[ Formula utk mencari perkalian P dan L sehingga didapat hasil total luasan sesuai yang telah ditetapkan....

 

Kedua tabel; TABEL yg harus dirujuk (disebut oleh pak Andi sebagi Kolom1); maupun TABEL Hasil (oleh pak Andi disebut sebagai Kolom 2) jika akan diperlakukan sebagai data yg masih akan diolah lebih lanjut; menurut fendafatku: bukanlah tabel yang baik dan benar, karena tidak terstruktur.
 
Di ;embar contoh yg dikirimkan ada 10 benda (item), masing-masing item punya dimensi dan (oleh karena itu) punya nilai LUAS.
Bila kita sebut Nama Item No 1 atau Nama Itemnya = A , maka siapapun masih akan bertanya lagi : "No.1 yang mana ??" / "A yang mana ??";  sebab item no. 1 atau yg diberinama A ternyata bukan hanya SATU item (tetapi 4 item), yg semuanya punya nilai LUAS (maupun dimensi) yang berbeda.  Demikian pula item B dan C ternyata lebih dari 1.
 
Alangkah sulitnya mengolah data semacam ini (yg setiap saat ketemu sebuah data kita masih harus repot bertanya kesana-kemari "A yang mana sih?"); sehingga excel (dan, terutama, pemakainya) sering ogah mengolah data model beginian. Itu pula sebabnya, pada saat membaca pertama kali posting ini, "kurang ada setrumnya", ndak ada sesuatu yang membangkitkan minat untuk mencari solusinya.
 
Data akan menjadi gampang diurus kalau setiap item punya nomor index (urut) DAN punya NAMA yang UNIK (kalau memang harus unik)
Untuk 10 item tsb bisa kita namakan Item No.1, Item no.2 dst sampai Item No.10
Atau dengan cara lain; agar setiap item gampang dikenali kembali. Misal seperti tabel (modified) spt ini

No Jenis
Jenis
No Item
Nama Item
P
L
LUAS
1
A
01
A1-01
3.20 3.20 10.24
1
A
02
A1-02
2.80 2.00 5.60
1
A
03
A1-03
3.50 2.70 9.45
1
A
04
A1-04
13.70 2.50 34.25
2
B
05
B2-05
6.00 4.00 24.00
2
B
06
B2-06
8.00 3.50 28.00
2
B
07
B2-07
7.00 3.50 24.50
3
C
08
C3-08
2.00 2.00 4.00
3
C
08
C3-08
4.00 3.00 12.00
3
C
10
C3-10
5.03 3.50 17.60
Tabel BARU seperti digambarkan itu kita sebut tabel yang terstruktur tur.. tur.. tur.. !
 
Pokok masalahnya sendiri cukup sederhana yaitu :
mencari kombinasi beberapa Items yg total luasnya = paling mendekati Kriteria Target.
 
Banyaknya Item per kombinasi tidak ditentukan, alias : bisa 1 bisa 2 sampai bisa 10 (max jumlah item) per set kombinasi.
Padahal untuk dapat menemukan jawabannya kita harus mencari SEMUA kemungkinan kombinasi yang ada.

Misalnya
"kombinasi" 1 item dari 10 item yg ada:
= ada 10 kemungkinan yaitu item no.1 item no.2 dst sampai item no.10
(karena kombinasi 1 maka setiap set kombinasi tidak perlu dijumlah)
kita tinggal mengurangi tiap luas nya dengan nilai Kriteria (56.5)
lalu nilai nya di ABSOLUTKAN  =ABS(luasItem - kriteria)
siapa yang punya nilai selisih paling kecil dialah item yg paling mendekati kriteria.
Itu hanya ceritak mengenai KOMBINASI 1

Kita masih harus mencari KOMBINASI 2 items dari 10 item , misal
Item No.1 + Item No.2
Item No.1 + Item No.3
Item No.1 + Item No.4
dst hingga
Item No.9 + Item No.10
 
Kombinasi 4 item
No.1 + No.2 + No.3 + No.4
No.1 + No.2 + No.3 + No.5
No.1 + No.2 + No.3 + No.6
No.1 + No.2 + No.3 + No.7
No.1 + No.2 + No.3 + No.8
No.1 + No.2 + No.3 + No.9
dst....sampai
No.7 + No.8 + No.9 + No.10
Untuk Kominasi 4 item dari 10 items  jumlahnya ada 
=COMBIN(10,4)
= 210 kemungkinan kombinasi
 
Yang paling banyak adalah Kombinasi dengan N = 5;   5 (dari 10 item)
yaitu ada = COMBIN(10,5) = 252;  tabel lengkapnya seperti ini
N  =COMBIN(10,N)
1 10
2 45
3 120
4 210
5 252
6 210
7 120
8 45
9 10
10 1
jumlah 1023
 
Jadi kita harus menganalisis tak kurang dari 1023 set kombinasi !!
setiap set kombinasi kita jumlahkan LUASnya  (Luas para item yg termasuk dalam set kombinasi tsb)

Pembahasan arti & maksod "Kombinasi" dapat di buka di milis ini

Sampai di sinih... apakah anda masih membayangkan ada FORMULA yg dapat menghasilkan jawaban: KOMBINASI BEBERAPA ITEM YG LUASNYA MENDEKATI KRITERIA ??
Mungkin saja FORMULA seperti itu memang ada, tetapi untuk saat ini kita belum tertarik untuk mencari-carinya.
Kita tunggu saja formula dari para fakar formula...

Untuk menyajikan HASIL yang diinginkan pun, sebaiknya kita tetap pakai Tabel yang terstruktur pu;a, karena ("menuruf fendafatku") alangkah sulitnya menyajikan hasil dalam bentuk seperti yg diinginkan, kecuali dengan cara manual.
 
Pekerjaan untuk menghasilkan TABEL HASIL ( untuk 10 item dataspt itu) tentu harus
** melibatkan pencarian ke 1023 kemungkinan kombinasi tsb.
** lalu setiap item yg tergabung dlm suatu set kombinasi di jumlahkan (luasnya), didaftar di sebuah tabel
** setiap TOTAL LUAS dlm sebuah set kombinasi kemudian kita cari SELISIHNYA terhadap Nilai Kriteria Target.

Harusnya (untuk kasus 10 item spt ini) kita akan mendapatkan 1023 data "angka selisih"

Nah dari 1023 data tsb, dengan Fungsi MIN(ArrayData) dapat kita cari nilai MINIMUM-nya
Sesiapa yg mempunyai nilai SELISIH terkecil (terkecil bisa = 0) dialah yg menjadi HASIL.
 
Bahkan kalau mau, kita dapat menampilkan BEBERAPA set kombinasi yg paling mendekati (yah semcam TOP-Ten gitulah..).
Sudah sering dicontohkan di milis untuk urusan spt ini fungsi yg kita gunakan bukan lagi MIN tetapi mungkin fungsi SEMOLL !
 
Workbook terlampir, dengan sekali ceklik dapat menyajikan Tabel Hasil Top-5 kombinasi items yg paling mendekati Kriteria.
Bahkan kalau anda ingin melihat, semua kombinasi (untuk 10 items, = 1023 set) BISA diperlihatkan dlm keadaan sudah terurut; dengan baris paling atas = nilai total luasnya paling mendekati Kriteria.
 
Jangan percaya sebelum mencoba
 
-ctv-

dari bluewater siti villager mengucapkan 'Selamat Tahun Baru'.

dear group,
I wish you all a very happy, prosperous and joyful new year 2011!!
May the dawning of this New Year, fill your heart with new hopes,
open up new horizons and bring for you promises of brighter tomorrows.
May the journey of your life be fragrant with new opportunities,
your days be bright with new hopes and your heart be happy with love! .


 
 
 

2010/12/27 Andi T. Monang <andi.monang@yahoo.com>
>
> Dear para senior XL-Mania,
> saya mempunyai kesulitan, misal saya mempunyai data Dimensi beberapa Benda (terdapat banyak data Dimensi), sedangkan total luasan yang saya harapkan misalnya sudah saya tetapkan, nah kira2 para senior dapat membantu bagaimana kira2 formula sehingga dapat otomatis mencari perkalian Dimensi P dan L sehingga hasil perkalian tsb mendekati dari angka yang telah saya tetapkan, untuk detail nya saya lampirkan filenya.
> Terima kasih para senior atas bantuannya....
>
> Salam hangat,
> Andi T

__._,_.___
Recent Activity:
+-:: XL-mania ::::::::::::::::::::----------------------------------+
| "if you are the most valuable assets, you will show up on the     |
| balance sheet..." - oNo Wiqe                                      |
| http://www.facebook.com/group.php?gid=37671048001&ref=mf          |
+-------------------------------------------------------------------+
| DILARANG : MLM, money game, OOT, iklan tanpa izin, SARA, testing, |
| pembicaraan pribadi, one line message,  melecehkan,  tidak sopan. |
+-------------------------------------------------------------------+
| Buat subjek yang kreatif, jangan : "tanya", "help", "mohon bantu" |
| Usahakan besar attachment < 200 kb. Gunakan  winzip  jika  perlu. |
+-------------------------------------------------------------------+
| Ajak teman-teman Anda bergabung dengan mengirim e-mail kosong ke  |
| XL-mania-subscribe@yahoogroups.com atau kirimkan mereka file dari |
| http://groups.yahoo.com/group/XL-mania/files/Promotion/           |
+-------------------------------------------------------------------+
| Berikan testimoni di : http://www.friendster.com/xlmania atau...  |
| http://www.xl-mania.com/2008/06/testimoni-xl-mania.html           |
+-------------------------------------------------------------------+
| Message lama ada di :                                             |
| http://groups.yahoo.com/group/XL-mania/messages [perlu yahoo id]  |
| http://www.mail-archive.com/xl-mania@yahoogroups.com              |
+-------------------------------------------------------------------+
.

__,_._,___

Re: ]] XL-mania [[ Menjumlahkan tanggal dikurangi hari minggu

 

Jika termasuk daftar libur dan dicoba tanpa VBA, bisa dengan array formula
(berlaku untuk penambahan hari minimal 1 dan maksimal 400
~ ubah interval pada bagian fungsi Row) :
=SMALL(IF((COUNTIF($L$2:$L$4,A2+ROW($1:$400))=0)*(WEEKDAY(A2+ROW($1:$400))>1),A2+ROW($1:$400)),B2)

Jika hari liburnya hanya hari minggu saja yang akan di-exclude, maka :
1. Jika tanggal awal tidak pernah hari minggu, bisa dengan :
=INT(B3*7/6+MOD(A3+5,7)/6)+A3

2. Jika tanggal awal bisa berisi hari minggu, maka ditambahkan bagian pengubah basis hari menjadi hari sabtu. Artinya hari minggu itu dianggap tidak ada dan tanggal awal hari minggu dianggap masih hari sabtu.
=INT((B4-(MOD(A4,7)=1))*7/6+MOD(A4+5,7)/6)+A4

Untuk 2 formula ini, kasus masa akan datang (jumlah hari ke depan) atau ke masa lampau (jumlah hari negatif) masih bisa digunakan.

Nah, kalau basisnya tanggal awal akan dipindah menjadi 1 hari sesudahnya ?
Mungkin perlu +(mod(a4,7)*(abs(int(b4/-2))=0)=1)*(2-(b4=-1))
atau +(mod(a4,7)*(abs(int(b4/-2))=0)=1)*(1+(b4>=0))
Silakan dicari cara meringkasnya.

Regards.
Kid.

2010/12/27 STDEV(i) <setiyowati.devi@gmail.com>
 

dengan formula, sudah dicoba coba-coba, belum dapat memunculkan hasil yang benar
jadi barangkali perlu dicoba dengan fungsi buatan sendiri

=cWORKDAY(B4,C4,1)

sintaks-nya
 cWorkday(TglStart, JumlahHari, AngkaHariExcluded, [RangeDaftarLibur])

AngkaHariExclued adalah integer: Minggu = 1, Senin = 2 dst Sabtu = 7

terlampir : workbook yg mungkin dapat memunculkan data yg tidak terlalu salah...

kasus ini juga pernah muncul di milis ini September 2009
(workbooknya dilampirkan lagi..)

>> semoga bermanfaat...

terima kasih



2010/12/21 Made <made.arianom@yahoo.com>

Saya punya tugas untuk mengetahui deadline penerimaan laporan. JIka dihitung manual tentu bisa, tetapi kurang efisien. Mohon Bantuan rekan-rekan. Contoh: Jadwal kirim tanggal 8 des 2010, toleransi pengeriman 7 hari. Jika dijumlah manual maka deadline penerimaan laporan adalah tanggal 15 Desember 2010. Tapi jika melihat ada hari minggunya maka laporan diterma tanggal 16 des 2010.

tks


__._,_.___
Recent Activity:
+-:: XL-mania ::::::::::::::::::::----------------------------------+
| "if you are the most valuable assets, you will show up on the     |
| balance sheet..." - oNo Wiqe                                      |
| http://www.facebook.com/group.php?gid=37671048001&ref=mf          |
+-------------------------------------------------------------------+
| DILARANG : MLM, money game, OOT, iklan tanpa izin, SARA, testing, |
| pembicaraan pribadi, one line message,  melecehkan,  tidak sopan. |
+-------------------------------------------------------------------+
| Buat subjek yang kreatif, jangan : "tanya", "help", "mohon bantu" |
| Usahakan besar attachment < 200 kb. Gunakan  winzip  jika  perlu. |
+-------------------------------------------------------------------+
| Ajak teman-teman Anda bergabung dengan mengirim e-mail kosong ke  |
| XL-mania-subscribe@yahoogroups.com atau kirimkan mereka file dari |
| http://groups.yahoo.com/group/XL-mania/files/Promotion/           |
+-------------------------------------------------------------------+
| Berikan testimoni di : http://www.friendster.com/xlmania atau...  |
| http://www.xl-mania.com/2008/06/testimoni-xl-mania.html           |
+-------------------------------------------------------------------+
| Message lama ada di :                                             |
| http://groups.yahoo.com/group/XL-mania/messages [perlu yahoo id]  |
| http://www.mail-archive.com/xl-mania@yahoogroups.com              |
+-------------------------------------------------------------------+
.

__,_._,___

Re: ]] XL-mania [[ PO_automatic

 

masalah: mengentry data ke Tabel / List dengan FORM, ( baik FORM yg dibuat dari Sheet maupun dari UserForm ) sudah sering ditayangkan di milis ini.

khusus untuk kasus yg diajukan pak puji laso ini, menurut fendafatku ada beberapa hal yg dipersulit sendiri;  misal :

1.
ASLI Nomor PO (sebagai field kunci tabel database nya) tidak pernah dimasukkan ke TABEL.
Ada juga Nomor yg mirip dimasukkan ke tabel berupa No PO yang diUBAH-UBAH (ditambah nomor Sub; misal  Bilangan 542  menjadi  teks "0542-01", "0542-02"  dst.
Hal ini akan memperpanjang trick pencariannya kembali

2.
FORM ENTRY data juga diinginkan menjadi form DISPLAY data
sedangkan jumlah barisnya terbatas
Harus ada jaminan dari pak laso, bahwa semua PO pasti berisi pembelian
maksimal 4 item.

Sedangkan pertanyaan utama: Bgmn Mengubah No PO selalu NAIK (bertambah + 1)
perintahnya tidaklah terlalu sulit
karena hanya seperti ini
Range("C1") = Range("C1") + 1

Sebetulnya penanganan data spt ini lebih gampang dengan 2 tabel: tabel Induk dan Tabel Anak.
Semantara tabel induk mencatat setiap PO sebagai 1 record yg hanya berisi "headernya" saja
(Nomor PO, Tgl, CUst, Total, Jumlah Item), si Tabel anak mencatat detail dari item yg dibeli, jumlah barisnya per PO bebas, mau berapa saja.
Dlm tabel anak akan ada Kolom-Kolom
No PO (sbg kunci penghubung dua tabel tsb), dan item secara detail (CodeItem, NamaItem, Qty, Harga dst) seperti 4 baris yg ada di form PO contoh dari pak laso)

Workbook terlampir belum menggunakan teknik spt itu, tetapi tetap tidak jauh dari contoh yg diajukan pak laso, supaya tidak terlalu jauh dari pembayangan pak laso)

Di  VBAProject nya memang ada UserForm, tetapi tugasnya hanya berisi SpinButton untuk mencari Nomor Records dan No. PO ( yg sudah terrekam di  dbTabel)  yg ingin di displaykan.

Prosedur untuk memasukkan data dari sheet FORM ke sheet  dbTABEL ditulis di Module 1
kita kutip BAGIAN INTI-nya saja seperti ini

   For n = 1 To FrmRows
      dBTabel(NewRow + n, 15).NumberFormat = "@"
      dBTabel(NewRow + n, 15) = Format(HeadFrm(1, 1), "0000")
      For r = 1 To HeadFrm.Rows.Count
         If r = 1 Then
            dBTabel(NewRow + n, r) = _
            Format(HeadFrm(r, 1), "0000") & "-" & Format(n, "00")
         Else
            dBTabel(NewRow + n, r) = HeadFrm(r, 1)
         End If
      Next r
      For c = 1 To FrmCols
         dBTabel(NewRow + n, r - 1 + c) = DatForm(n, c)
      Next c
   Next n
'--------------------------


2010/12/28 Puji Lasono <laso.area@yahoo.co.id>

Agan agan yang terhormat mohon bantuan untuk makro atau modulnya untuk file PO saya, karena slama ini saya imput manual, Jadi harapanya cukup dengan tombol clear secara otomatis nomor PO bertabah satu dan cel yang berwarna biru kosong, dan kita bisa input pada cel  warna biru yang kita inginkan, dan jika kita klik tombol save & preview, otomatis cel yang yang berwarna biru akan ter simpan dalam tabel di sheet no 2 secara berurutan dan di akhiri tampilan print preview dari sheet no 1, dan jika di tekan tombol edit cukup kita masukan no PO maka cel C1, maka cel -cel  warna biru bisa terisi data seuai PO yang tersimpan di sheet no 2,

Demikian mohon bantuan agan agan terhormat, slama ini sudah saya coba utak atik tapi gak ada hasil , karena pengetahuan saya minim.

saya bingung cara melampirkan gan



__._,_.___
Recent Activity:
+-:: XL-mania ::::::::::::::::::::----------------------------------+
| "if you are the most valuable assets, you will show up on the     |
| balance sheet..." - oNo Wiqe                                      |
| http://www.facebook.com/group.php?gid=37671048001&ref=mf          |
+-------------------------------------------------------------------+
| DILARANG : MLM, money game, OOT, iklan tanpa izin, SARA, testing, |
| pembicaraan pribadi, one line message,  melecehkan,  tidak sopan. |
+-------------------------------------------------------------------+
| Buat subjek yang kreatif, jangan : "tanya", "help", "mohon bantu" |
| Usahakan besar attachment < 200 kb. Gunakan  winzip  jika  perlu. |
+-------------------------------------------------------------------+
| Ajak teman-teman Anda bergabung dengan mengirim e-mail kosong ke  |
| XL-mania-subscribe@yahoogroups.com atau kirimkan mereka file dari |
| http://groups.yahoo.com/group/XL-mania/files/Promotion/           |
+-------------------------------------------------------------------+
| Berikan testimoni di : http://www.friendster.com/xlmania atau...  |
| http://www.xl-mania.com/2008/06/testimoni-xl-mania.html           |
+-------------------------------------------------------------------+
| Message lama ada di :                                             |
| http://groups.yahoo.com/group/XL-mania/messages [perlu yahoo id]  |
| http://www.mail-archive.com/xl-mania@yahoogroups.com              |
+-------------------------------------------------------------------+
.

__,_._,___

Arquivo do blog