Welcome
Welcome, thanks to look my blog
Friday, 29 January 2016
Wednesday, 27 January 2016
https://goo.gl/maps/hZxLTXqCcv42
https://goo.gl/maps/hZxLTXqCcv42
<iframe src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3960.043582089887!2d110.36018461477329!3d-7.004150994940444!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x2e708aeec631ef4f%3A0x647da4efb6562c9a!2sPT.+Sumber+Aji+Langgeng+Santoso!5e0!3m2!1sid!2sid!4v1453885046777" width="600" height="450" frameborder="0" style="border:0" allowfullscreen></iframe>
https://www.google.co.id/maps/place/PT.+Sumber+Aji+Langgeng+Santoso/@-7.004151,110.3601846,17z/data=!3m1!4b1!4m2!3m1!1s0x2e708aeec631ef4f:0x647da4efb6562c9a
<iframe src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3960.043582089887!2d110.36018461477329!3d-7.004150994940444!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x2e708aeec631ef4f%3A0x647da4efb6562c9a!2sPT.+Sumber+Aji+Langgeng+Santoso!5e0!3m2!1sid!2sid!4v1453885046777" width="600" height="450" frameborder="0" style="border:0" allowfullscreen></iframe>
https://www.google.co.id/maps/place/PT.+Sumber+Aji+Langgeng+Santoso/@-7.004151,110.3601846,17z/data=!3m1!4b1!4m2!3m1!1s0x2e708aeec631ef4f:0x647da4efb6562c9a
Friday, 22 January 2016
Monday, 18 January 2016
Printing listview items using fastreport in Delphi
24 Hour format for Date time picker
24 Hour format for Date time picker
I use DateTimePicker component, Time mode. I want to set it's time format to 24 hour time format. How can I do this ?
Saturday, 9 January 2016
Cross-tab dengan mysql
Cross-tab atau cross tabulation adalah bentuk laporan statistik yang merupakan de-normalisasi dari data dab ditampilkan dalam bentuk kelompok (group) dari sebuah field dan kolomnya terdiri atas nilai-nilai yang berbeda dari suatu field lain.
Misalnya ada tabel mhs dengan isi sebagai berikut:
nama | seks | fakultas |
Joni | P | Biologi |
Hardi | P | Biologi |
Anita | W | Psikologi |
Kadir | P | Ilmu Budaya |
Budiman | P | Teknik |
Husin | P | Psikologi |
Linda | W | Biologi |
Kartono | P | Teknik |
Kartini | W | Psikologi |
Suciwati | W | Teknik |
Legiman | P | Biologi |
Kuntoro | P | Teknik |
Susan | W | Biologi |
Aniati | W | Teknik |
Hasil cross-tab untuk kolom fakultas dan seks adalah:
fakultas | P | W | total |
Biologi | 3 | 2 | 5 |
Ilmu Budaya | 1 | 0 | 1 |
Psikologi | 1 | 2 | 3 |
Teknik | 3 | 2 | 5 |
Pembuatan cross-tab secara manual
Tabel cross-tab tersebut dapat diperoleh dengan memanfaatkan fasilitas
query yang ada pada MySQL. Namun sebelum melihat bentuk query-nya, kita lihat
dulu penyelesaian masalah tersebut secara manual.
query yang ada pada MySQL. Namun sebelum melihat bentuk query-nya, kita lihat
dulu penyelesaian masalah tersebut secara manual.
Kita buat tabel dengan kolom fakultas, P, dan W. Setelah itu kita urut
satu persatu baris dalam tabel mhs. Setiap menemukan data fakultas yang belum
ada di tabel kita tulis nama fakultas tersebut pada kolom fakultas. Untuk setiap
baris kita tambahkan nilai 1 pada kolom P jika seks bernilai \’P\’ dan kita tambahkan
nilai 1 pada kolom W jika seks bernilai \’W\’. Hasil tabel sementara sebagai berikut:
satu persatu baris dalam tabel mhs. Setiap menemukan data fakultas yang belum
ada di tabel kita tulis nama fakultas tersebut pada kolom fakultas. Untuk setiap
baris kita tambahkan nilai 1 pada kolom P jika seks bernilai \’P\’ dan kita tambahkan
nilai 1 pada kolom W jika seks bernilai \’W\’. Hasil tabel sementara sebagai berikut:
fakultas | P | W |
Biologi | 1+1 | 0+0 |
Ternyata mudah. Prinsipnya adalah jumlahkan ke kolom P jika bernilai \’P\’ dan
jumlahkan ke kolom W jika bernilai \’W\’.
jumlahkan ke kolom W jika bernilai \’W\’.
Query I
Jika kata yang ditulis tebal pada kalimat sebelum ini diganti dengan Bahasa Inggris hasilnya
adalah: sum ke kolom P if bernilai ‘P’ dan sum ke kolom W
jika bernilai ‘W’. Atau dalam SQL menjadi:
adalah: sum ke kolom P if bernilai ‘P’ dan sum ke kolom W
jika bernilai ‘W’. Atau dalam SQL menjadi:
mysql> SELECT fakultas, SUM(IF(seks=\'P\',1,0)) AS P, -> SUM(IF(seks=\'W\',1,0)) AS W -> FROM mhs -> GROUP BY fakultas;
Hasilnya:
fakultas | P | W |
Biologi | 3 | 2 |
Ilmu Budaya | 1 | 0 |
Psikologi | 1 | 2 |
Teknik | 3 | 2 |
Bagaimana dengan kolom jumlah (total)? Mudah juga ubah sedikit SQL tersebut menjadi:
mysql> SELECT fakultas, SUM(IF(seks=\'P\',1,0)) AS P, -> SUM(IF(seks=\'W\',1,0)) AS W, -> COUNT(*) as total -> FROM mhs -> GROUP BY fakultas;
Hasilnya:
fakultas | P | W | total |
Biologi | 3 | 2 | 5 |
Ilmu Budaya | 1 | 0 | 1 |
Psikologi | 1 | 2 | 3 |
Teknik | 3 | 2 | 5 |
Mungkin timbul pertanyaan kenapa ingin mencacah baris/record menggunakan
sum bukan count? Ternyata count dan sum
cara kerjanya mirip dan bisa dikatakan sama untuk kasus tertentu. Coba SQL berikut:
sum bukan count? Ternyata count dan sum
cara kerjanya mirip dan bisa dikatakan sama untuk kasus tertentu. Coba SQL berikut:
mysql> SELECT COUNT(*) from mhs;
Hasilnya:
count(*) |
24 |
Sekarang ganti \’count(*)\’ pada SQL tersebut dengan \’sum(1)\’:
mysql> SELECT SUM(1) from mhs;
Hasilnya:
sum(1) |
24 |
Query II
Pada kasus tersebut nama kolom sudah diketahui sebelumnya yaitu \’P\’ dan \’W\’. Bagaimana jika
isi kolom tidak atau belum diketahui sebelumnya? Misalnya untuk kasus tersebut tetapi nama
kolom adalah nama fakultas sedang baris berisi seks.
isi kolom tidak atau belum diketahui sebelumnya? Misalnya untuk kasus tersebut tetapi nama
kolom adalah nama fakultas sedang baris berisi seks.
Pertama kita ambil nama-nama fakultas dengan SQL:
mysql> SELECT distinct fakultas from mhs;
Hasilnya:
fakultas |
Biologi |
Psikologi |
Ilmu Budaya |
Teknik |
Anda bisa menyusun SQL secara manual dengan memasukkan sum/if untuk setiap fakultas.
Namun demikian ada cara yang lebih baik. Ubah SQL tersebut menjadi:
Namun demikian ada cara yang lebih baik. Ubah SQL tersebut menjadi:
mysql> SELECT distinct concat(\', sum(if(fakultas=\"\',fakultas, -> \'\",1,0)) as `\',fakultas,\'`\') from mhs;
Hasilnya:
concat(‘, sum(if(fakultas=\”\”‘, |
, sum(if(fakultas=\”Biologi\”,1,0)) as `Biologi` |
, sum(if(fakultas=\”Psikologi\”,1,0)) as `Psikologi` |
, sum(if(fakultas=\”Ilmu Budaya\”,1,0)) as `Ilmu Budaya` |
, sum(if(fakultas=\”Teknik\”,1,0)) as `Teknik` |
Terlihat bahwa kita dapat menyusun kode SQL dengan SQL. Dengan cut and paste maka
dapat disusun SQL sesuai dengan keinginan yaitu:
dapat disusun SQL sesuai dengan keinginan yaitu:
mysql>select seks ->, sum(if(fakultas=\" Biologi\",1,0)) as `Biologi` ->, sum(if(fakultas=\" Psikologi\",1,0)) as `Psikologi` ->, sum(if(fakultas=\" Ilmu Budaya\",1,0)) as `Ilmu Budaya` ->, sum(if(fakultas=\" Teknik\",1,0)) as `Teknik` ->, count(*) as total ->from mhs ->group by seks
Hasilnya:
seks | Biologi | Psikologi | Ilmu Budaya | Teknik | total |
P | 3 | 1 | 1 | 3 | 8 |
W | 2 | 2 | 0 | 2 | 6 |
Berikut ini adalah sebuah contoh membuat Cross Tabulation pada MySQL dengan sebuah kasus tentang statistik jenis kelamin siswa di beberapa kelas.
1. Buatlah sebuah table siswa dengan struktur seperti dibawah ini.
CREATE TABLE `siswa` ( `id` char(4) COLLATE utf8_unicode_ci NOT NULL DEFAULT '', `nama` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, `kelamin` char(1) COLLATE utf8_unicode_ci DEFAULT NULL, `kelas` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
2. Masukan data sample siswa seperti yang ditunjukan dibawah ini.
+------+-------------------+---------+---------+ | id | nama | kelamin | kelas | +------+-------------------+---------+---------+ | 0001 | DENDIE SANJAYA | L | KELAS 1 | | 0002 | YULIANTI | W | KELAS 1 | | 0003 | PITRASCHA ADITYIA | L | KELAS 1 | | 0004 | SRI HARTATI | w | KELAS 2 | | 0005 | RIZKI PRIHANTO | L | KELAS 2 | | 0006 | RIANO OSKAR | L | KELAS 2 | | 0007 | HERU SASONGKO | L | KELAS 3 | | 0008 | KHEDA GINANJAR | L | KELAS 3 | | 0009 | MIFTAH KAMALUDIN | L | KELAS 3 | +------+-------------------+---------+---------+
3. Membuat query untuk menghasilkan Cross Tabulations dengan variable/ faktor jenis kelamin dan kelas
select kelas, sum(if(kelamin='L',1,0)) as 'PRIA', sum(if(kelamin='W',1,0)) as 'WANITA', count(*) as TOTAL from siswa group by kelas
Berikut ini penjelasan dari bagian penting query diatas
- sum(if(kelamin='L',1,0)) as 'PRIA' -> Mengartikan apabila menemukan data hurup L pada field KELAMIN maka lakukan penambahan sebanyak satu angka. kemudian simpan hasil perhitungannya di kolom bernama PRIA.
- sum(if(kelamin='W',1,0)) as 'WANITA' -> Mengartikan apabila menemukan data hurup W pada field KELAMIN maka lakukan penambahan sebanyak satu angka. kemudian simpan hasil perhitungannya di kolom bernama WANITA.
- count(*) as TOTAL -> Mengartikan melakukan perhitungan seluruh siswa baik yang berkelamin pria maupun wanita.
- group by kelas -> mengartikan data akan di tampilkan secara berkelompok berdasarkan kelas.
4. Berikut ini adalah hasil dari query Cross Tabulations diatas.
+---------+------+--------+-------+ | kelas | PRIA | WANITA | TOTAL | +---------+------+--------+-------+ | KELAS 1 | 2 | 1 | 3 | | KELAS 2 | 2 | 1 | 3 | | KELAS 3 | 3 | 0 | 3 | +---------+------+--------+-------+
sumber:http://yanto.staff.ugm.ac.id/?page_id=55
http://dendieisme.blogspot.co.id/2011/07/mysql-cross-tabulations.html
Constructing a cross-tab report
Constructing a cross-tab report
|
Now let's turn from theory to practice. We will construct a simple cross-tab report displaying employees’ salaries over four years. To do this we need the “crosstest” table, which is located in the FastReport “DEMOS\MAIN” folder. The table contains data like:
Name Year Salary
Ann 1999 3300
Ben 2002 2000
….
Create a new project in Delphi, place “TTable”, “TfrxDBDataSet” and “TfrxReport” components on the form and set their properties:
Table1:
DatabaseName = 'c:\Program Files\FastReport 4\Demos\Main'
TableName = 'crosstest.db'
the DatabaseName property, of course, must correspond to the path of your FastReport installation folder!
frxDBDataSet1:
DataSet = Table1
UserName = 'SimpleCross'
The “TfrxCrossObject” component from the FastReport component palette is used to design a cross-tab report. Just place it on the Delphi form, it does not need any properties to be changed. The “frxCross” unit, containing the cross-tab functionality, is added to the “uses” list when the Delphi application is compiled.
Open the report designer. Firstly connect the data source using the “Report > Data…” menu item. Then select the “DB cross-tab” object from the designer's object toolbar and click on the design page to place the object there:
All settings are made using the cross-tab editor. Open it by double-clicking on the object:
Key to the items shown above:
1 – a drop-down list of available data sources
2 – the list of fields in the selected data source; the fields from this list can be dragged to the lists numbered 3, 4 or 5
3 – the list of fields which generate line (row) headers
4 – the list of fields which generate column headers
5 – the list of fields which generate table cells
6 – table structure preview
7 – structure options : display of titles, totals, etc
You can only use the mouse in this editor to make changes. For our example it is only necessary to drag fields from the list 2 to lists 3, 4 and 5 (in the diagram above). After that close the editor by clicking the ОК button. The cross-tab object now shows its structure:
When the report is previewed you will see a table resembling this:
sumber:https://www.fast-report.com/public_download/html/UserMan/index.html?construct_a_cross_report.htm
|
Monday, 4 January 2016
Cara Mengatasi “Error 0x00000709” saat Mengeset Default Printer
Cara Mengatasi “Error 0x00000709” saat Mengeset Default Printer
Selamat siang, pagi malam atau apapun...
Pada posting kali ini saya mau sharing tentang bagaimana cara ngatasin error saat mengeset default printer. Ya sekedar sharing pengalaman saya aja ya soalnya saya juga bukan ahli di bidang perkomputeran.
Pada saat itu komputer yang di pake OS-nya Windows 7 dan printernya Epson L300. Nah, waktu saya mau set tuh printer “set as default printer”, muncul tulisan “operation could not be completed (error 0x00000709). Double check the printer name and make sure that the printer is connected to the network” . Jadi printernya gak bisa di set defaultkan.
Kayak gini tampilannya:
Efeknya pada saat membuka Ms. Word, kemudian saya coba ngeprint, tab pilihan printernya kosong. Namun masih bisa dipake untuk cetak dokumen dengan klik tombol sebelah kanan kemudian cari printer yang sesuai. Parahnya klo mau ngeprint pake Ms. Excel. saya coba berulang kali tapi munculnya tulisan “printer not found”. Kan jadi gak nyaman kalau mau cetak dokumen dari Ms. Excel gagal terus. Nah, kalau begitu langsung aja saya kasih tau cara ngatasin errornya dengan beberapa Langkah berikut ini:
Langkah pertama:
Klik tombol Windows + tombol huruf R di keyboard PC agan, setelah itu ketik regedit kemudian klik oke.
Tampilannya seperti di bawah ini:
Setelah itu akan muncul jendela seperti berikut ini:
Langkah kedua:
Klik Folder HKEY_CURRENT_USER --> Software --> Microsoft --> Windows NT --> CurrentVersion --> Windows. Setelah itu akan tampil jendela seperti ini:
Fokuskan perhatian pada tulisan “device” pada tab sebelah kanan. Kemudian blok “device” lalu klik kanan pilih modify. Langkah selanjutnya delete nama printer yang tertera lalu klik oke. Terakhir, restartlah computer agan dan masalah error pun terselesaikan. Apabila nama printer yang tertera tidak dapat di delete, pada registry editor pilih menu edit --> permissions --> kemudian chek list (√) allow pada Full Control, seperti gambar di bawah ini:
Semoga bermanfaat
Pada posting kali ini saya mau sharing tentang bagaimana cara ngatasin error saat mengeset default printer. Ya sekedar sharing pengalaman saya aja ya soalnya saya juga bukan ahli di bidang perkomputeran.
Pada saat itu komputer yang di pake OS-nya Windows 7 dan printernya Epson L300. Nah, waktu saya mau set tuh printer “set as default printer”, muncul tulisan “operation could not be completed (error 0x00000709). Double check the printer name and make sure that the printer is connected to the network” . Jadi printernya gak bisa di set defaultkan.
Kayak gini tampilannya:
Efeknya pada saat membuka Ms. Word, kemudian saya coba ngeprint, tab pilihan printernya kosong. Namun masih bisa dipake untuk cetak dokumen dengan klik tombol sebelah kanan kemudian cari printer yang sesuai. Parahnya klo mau ngeprint pake Ms. Excel. saya coba berulang kali tapi munculnya tulisan “printer not found”. Kan jadi gak nyaman kalau mau cetak dokumen dari Ms. Excel gagal terus. Nah, kalau begitu langsung aja saya kasih tau cara ngatasin errornya dengan beberapa Langkah berikut ini:
Langkah pertama:
Klik tombol Windows + tombol huruf R di keyboard PC agan, setelah itu ketik regedit kemudian klik oke.
Tampilannya seperti di bawah ini:
Setelah itu akan muncul jendela seperti berikut ini:
Langkah kedua:
Klik Folder HKEY_CURRENT_USER --> Software --> Microsoft --> Windows NT --> CurrentVersion --> Windows. Setelah itu akan tampil jendela seperti ini:
Fokuskan perhatian pada tulisan “device” pada tab sebelah kanan. Kemudian blok “device” lalu klik kanan pilih modify. Langkah selanjutnya delete nama printer yang tertera lalu klik oke. Terakhir, restartlah computer agan dan masalah error pun terselesaikan. Apabila nama printer yang tertera tidak dapat di delete, pada registry editor pilih menu edit --> permissions --> kemudian chek list (√) allow pada Full Control, seperti gambar di bawah ini:
Semoga bermanfaat
sumber:http://denarjamhuri.blogspot.co.id/2015/07/cara-mengatasi-error-0x00000709-saat.html
Subscribe to:
Posts (Atom)
//Uses Commctrl;
procedure TForm1.FormCreate(Sender: TObject);
begin
SendMessage(DateTimePicker
//The format strings are what Windows allows in the Regional
// Settings for Time - "HH" is military (24h time) and
//"hh" is 12 hour, adding "tt" to the end gets you the "am" / "pm", etc.
end;
//or with date and am/pm also:
procedure TForm1.Button1Click(Sender
begin
SendMessage(DateTimePicker
end;
procedure TForm1.Button2Click(Sender
begin
Application.UpdateFormatSe
ShortTimeFormat := 'HH:mm:ss';
end;
sumber:http://www.experts-exchange.com/questions/10264999/24-Hour-format-for-Date-time-picker.html