Alkisah ada seorang pengembara di dunia perkodingan, yang hari-hari dilaluinya selalu dihiasi dengan mimpi-mimpi. Baik itu mimpi indah, mimpi, buruk, mimpi masa lalu, mimpi masa depan, mimpi nggak jelas hingga mimpi sejelas film bioskop. Salah satu dari mimpinya adalah membuat program aplikasi komputer yang dapat bermanfaat buat manusia banyak, terutama manusia Indonesia.
Suatu hari yang panas dan terik, si pengembara duduk di tepian telaga sunyi yang sejuk, sekedar melepas lelah, mengeringkan peluh. Diiringi alunan syahdu lagu merdu mendayu dari MP3 playernya. Semilir angin AC hampir melenakannya. Sekonyong-konyong, jatuhlah buah nanas di atas kepalanya, dari pohon yang menjadi sandarannya. Setelah terhilang rasa kagetnya, si pengembara mengelus-elus kepalanya, terasa kulit kepalanya pedih dan perih... si pengembara tercenung sejenak... perih... ah yaa! perihbahasa!! .. eh peribahasa (nggak pake 'h').
Dan semenjak si pengembara kejatuhan buah nanas, ia banyak melamun, melamun, dan melamun. Bukan gara-gara karena kejatuhan nanas ya. Tapi karena memang dia suka melamun dan berkhayal. Sambil melamun dan makan bekalnya, dia membuka kitab berisi foto-foto saudara seperguruannya... tiiinggg! Secercah cahaya memasuki alam pikirannya. Si pengembara teringat, ia memiliki saudara eh saudari-saudari seperguruan yang memiliki ilmu tingkat tinggi tentang peribahasa di dunia perbahasaan. Langsung dengan ilmu telepatinya si pengembara menghubungi saudari-saudari seperguruannya untuk membantunya bahu-membahu mengisi database aplikasi pencarian peribahasa. Gayung pun bersambut. saudari-saudari seperguruan si pengembara menyanggupi permintaan bala bantuan.
Dengan semangat 45, si pengembara mulai banting tulang peras keringat putar otak membuat program aplikasi komputer untuk mencari peribahasa bahasa Indonesia berbasis web. Si pengembara menginginkan aplikasi komputer tersebut berbasis web agar dapat menjangkau area wilayah Indonesia yang lebih luas lagi, dari Sabang sampai Merauke.
Singkat cerita, berhasillah si pengembara mengembangkan program aplikasi komputer pencarian peribahasa Indonesia berserta artinya. Namun, lagi-lagi sifat dasar si pengembara, mengembara ke sana kemari sambil melamun, membentuk satu sifat lagi yaitu tidak merasa tenang. Alhasil, yang semula hanya ingin membuat program aplikasi komputer mengenai peribahasa, berubah, ditambahi dengan, tidak tanggung-tanggung, ungkapan dan kiasan bahasa Indonesia beserta artinya. Dan... banting tulang peras keringat putar otak dilakukan lagi oleh si pengembara selama 7 hari tujuh malam... sampai badan si pengembara berubah drastis tinggal kulit berbalut daging alias ndut brooo.
Hingga akhirnya, hari ini, di sini, di bangku ini, si pengembara berhasil menyelesaikan program aplikasi pencarian peribahasa, ungkapan, dan kiasan bahasa Indonesia... disertai isi-isinya, yang mengandung 2881 peribahasa, 107 ungkapan, dan 110 kiasan... bisa dipakai kapan saja, di mana saja, oleh siapa saja, di alamat situs web http://peribahasa.ilmubiner.web.id yang aktif full time selama 24 jam, 7 hari seminggu. Si pengembara pun sujud syukur ke hadirat Allah SWT lalu memohon agar program aplikasi yang dibuatnya dapat bermanfaat bagi bangsa Indonesia dan bangsa-bangsa lain, aamiin YRA
Tampilkan postingan dengan label SQL. Tampilkan semua postingan
Tampilkan postingan dengan label SQL. Tampilkan semua postingan
Selasa, 11 April 2017
Jumat, 21 Oktober 2016
Tugas Mata Kuliah Sistem Manajemen Basis Data Sesi 5 #20161020
Salah satu hal yang membuat kualitas data di database tinggi adalah, sumber datanya paling valid.Selain itu proses pengolahan datanya. Berikut ini adalah cuplikan ERD suatu sistem informasi (klik gambar untuk memperbesar) :
Buatlah sebuah database (nama bebas sesuai aturan) dan buatlah tabel-tabel sesuai dengan gambar. Pemilihan tipe-tipe data harus tepat, penentuan primary key dan foreign key harus benar. Setelah database dan tabel-tabelnya jadi, isilah setiap tabel dengan data kelurahan, kecamatan, kabupaten / kota, dan provinsi di seluruh Indonesia. Carilah data kelurahan, kecamatan, kabupaten / kota, dan provinsi di seluruh Indonesia di situs KEMENDAGRI. Yang dikumpulkan : file skrip SQL untuk membuat database dan tabel, serta penjelasan mengenai proses tahap-tahap dari pencaarian data sampai pemasukkan data ke dalam tabel. Tugas dikumpulkan paling lambat 1 hari sebelum anda hadir ke program studi Sistem Informasi S-1, kampus A perguruan tinggi Universitas Respati Indonesia, Bambu Apus Jakarta Timur di mata kuliah ini. Selamat mengerjakan!
Buatlah sebuah database (nama bebas sesuai aturan) dan buatlah tabel-tabel sesuai dengan gambar. Pemilihan tipe-tipe data harus tepat, penentuan primary key dan foreign key harus benar. Setelah database dan tabel-tabelnya jadi, isilah setiap tabel dengan data kelurahan, kecamatan, kabupaten / kota, dan provinsi di seluruh Indonesia. Carilah data kelurahan, kecamatan, kabupaten / kota, dan provinsi di seluruh Indonesia di situs KEMENDAGRI. Yang dikumpulkan : file skrip SQL untuk membuat database dan tabel, serta penjelasan mengenai proses tahap-tahap dari pencaarian data sampai pemasukkan data ke dalam tabel. Tugas dikumpulkan paling lambat 1 hari sebelum anda hadir ke program studi Sistem Informasi S-1, kampus A perguruan tinggi Universitas Respati Indonesia, Bambu Apus Jakarta Timur di mata kuliah ini. Selamat mengerjakan!
Rabu, 12 Oktober 2016
Tipe Data MySQL Quick Reference Sheet
MySQL merupakan salah satu perangkat lunak sistem manajemen basis data yang populer bagi pengembang web di seluruh dunia. Seperti halnya perangkat lunak database lainnya, di MySQL juga ada tipe-tipe data. Pengetahuan tipe-tipe data wajib diketahui oleh para developer IT agar data dapat disimpan dengan baik dan benar.Klik tombol berikut ini untuk membuka atau mengunduh file PDF yang berisi daftar ringkas tipe-tipe data yang ada di dalam MySQL. Selamat belajar!
Jumat, 07 Oktober 2016
Tugas Mata Kuliah Sistem Manajemen Basis Data Sesi 3 #20161006
Tugas disimpan di dalam file .sql dan dikirim via e-mail ke : tugasilmubiner@gmail.com dengan menyebutkan nama, NPM, kelas, prodi. Paling lambat hari Rabu minggu depan. Hari kamisnya kuliah di kampus A Universitas Respati Indonesia (URINDO) program studi Sistem Informasi, Bambu Apus, Jakarta Timur. Jamgan sampai terlambat!
- Kepanjangan SQL adalah ..........
- Sebutkan kelompok-kelompok perintah SQL!
- Sebutkan perintah-perintah SQL pada setiap kelompok yang disebutkan pada soal no. 2!
- Sebutkan objek-objek pada suatu database yang dibuat menggunakan MySQL!
- Jelaskan perbedaan DROP dengan DELETE!
- Jelaskan perintah CREATE mengacu pada e-book ini!
- Buatlah sebuah database bernama apotek_db menggunakan SQL!
- Sebutkan dan jelaskan tipe-tipe data yang ada di MySQL!
- Buatlah tabel-tabel di dalam apotek_db berdasarkan ERD ini menggunakan SQL!
- Pelajari ERD ini, jelaskan masing-masing tabel (untuk menyimpan data apa, data apa saja yang disimpan, mengapa relationshipnya seperti pada gambar, dsb.)
Sabtu, 01 Oktober 2016
Tugas Mata Kuliah Sistem Manajemen Basis Data #20160929
Berikut ini tugas mata kuliah Sistem Manajemen Basis Data, program studi Sistem Informasi S-1, tahun akademik 2016-2017 semester ganjil, Fakultas Teknologi Informasi, Universitas Respati Indonesia (URINDO), Jakarta Timur. Tugas dikirim sebelum batas waktu yang telah ditentukan ke alamat e-mail : tugasilmubiner@gmail.com. Referensi dan materi perkuliahan dapat dilihat di menu Bacaan. Selamat mengerjakan. #urindo #urindojakartatimur #sisteminformasiurindo #siurindo
- Apa yang dimaksud dengan sistem?
- Jelaskan mengenai sistem basis data!
- Jelaskan perbedaan sistem basis data dengan sistem manajemen basis data!
- Kegiatan apa saja kah yang dapat dilakukan dengan sistem manajemen basis data?
- Apa yang dimaksud dengan anomali pada sistem basis data?
- Jelaskan bentuk-bentuk anomali yang dimaksud pada pertanyaan no.5!
- Apakah normalisasi basis data itu?
- Jelaskan proses normalisasi dengan contohnya!
- Jelaskan dengan lengkap tetntang primary key dan foreign key!
- Rancangan sebuah database menggunakan ERD atau Class diagram UML atau sketsa tabel-tabel untuk suatu Apotek!
Kamis, 30 Juli 2015
Siklus Hidup Pengembangan Database
Gara-gara ada yang menanyakan tentang ERD (Entity Relationship Diagram) dan cara membuat ERD, maka lahirlah artikel ini namun dalam bentuk grafik (klik gambar untuk memperbesar) tentang langkah-langkah pengembangan database alias cara merancang / membuat database... silahkan dikunyah-kunyah.
Sabtu, 05 Juli 2014
Apakah Data Mining itu? : Sebuah Penjelasan Sederhana
Wah saya merasa sangat bersalah... karena pertanyaan dalam kotak komentar dari salah satu pengunjung blog ini tidak segera terjawab... penyebabnya adalah, karena memang saya tidak mendapat notifikasi kalau ada komentar yang masuk! mohon maaf bagi para komentator, bahwasannya saya tidak memantau terus menerus blog ini :(
Gara-gara kesalahan saya itu, kali ini saya ingin menebusnya dengan suatu (percobaan) penjelasan yang sederhana mengenai pengertian data mining buat seseorang di sana yang secara tak sengaja saya cuekin (semoga sudi memaafkan saya juga) dan bagi para pembelajar di Indonesia pada umumnya... yuk tariikkkk maaangggg...!
data mining berasal dari dua kata yaitu data dan mining (ya iya lah..!). data (menurut KBBI online) adalah keterangan yang benar dan nyata. Menurut Merriam-Webster online, data adalah factual information (as measurements or statistics) used as a basis for reasoning, discussion, or calculation (terjemahan menurut Google Translate : informasi faktual (sebagai pengukuran atau statistik) digunakan sebagai dasar untuk penalaran, diskusi, atau perhitungan). mining berasal dari kata dasar mine yang berarti tambang, mendapat akhiran -ing sehingga menjadi kata kerja yaitu menambang atau penambangan. Jadi kalau diartikan asal-asalan bin ngaco bin ngawur oleh bukan pakar bahasa, arti data mining adalah menambang data atau penambangan data (:p)
Nah sekarang kita lihat apa kata pakar IT di bidang data mining :
Data mining is synonymous with knowledge discovery in databases, knowledge extraction, data or pattern analysis, data archeology, data dredging, data snooping, data fishing, information harvesting, and business intelligence (Hand et al., 2001; Giudici, 2003; Han & Kamber, 2006) -Wang, John, Encyclopedia of Data Warehousing and Mining Second Edition, p. lxiv-
Terjemahan : Data mining ini identik dengan penemuan pengetahuan dalam database, ekstraksi pengetahuan, analisis data atau pola, arkeologi data, pengerukan data, menyadap data (seperti menyadap getah pohon karet), memancing data, memanen informasi, dan intelijen bisnis.
Itulah arti kata data ming dan pengertian data mining menurut pakar.... udah jelas kan? pasti beluuummmm... iya kaannnn...??? :)
Sekarang dengerin (maksudna : baca) dongeng saya mengenai data mining ...
Once upon a time (...halah!) ada suatu toko kelontong (eh, masih ada yang tahu arti kata kelontong ga ya? cari ndiri di KBBI online yak! :p ) yang laris manis, yang menjual barang sebanyak 1234 item setiap hari dari pagi sampe malem selama satu tahun cuma libur lebaran dan natal doang ( ...kesian amat pegawainya ya?!), melayani ribuan pembeli tiap harinya, dari sabang sampai merauke... merdeka!!!
Om Joni si empunya toko kelontong ini untungnya sudah melek TI... biar gampang ngitung kes flo (cash flow) dan laba rugi jualannya, om Joni menggunakan sistem terkomputerisasi. Semua data transaksi penjualan dan kulakannya disimpan pada database. Jadi tiap mau tutup toko atau tiap minggu atau tiap bulau atau tiap tahun, om Joni bisa langsung tahu kes flo dan laba ruginya dengan cepat, akurat.
Nah, pada chapter (...halah!) dongeng di atas tuh, yang diceritain adalah sistem informasi akuntansi pada toko kelontong om Joni... trus data miningnya mana??? sabar jooo... makan dulu tuh kacang goreng sama minum black coffee-nya! :p
Namanya bisnis, pasti punya saingan. Dari waktu ke waktu muncul toko-toko kelontong saingan toko om Joni... dan om Joni pun merasa terancam... kekhawatirannya terbukti dengan menurunnya omset penjualannya yang tampil di setiap laporan mingguan. Om Joni cari akal putar otak. Tiiiinnnggg! muncul ide gimana kalau barang-barang yang paling laku yang dibeli bersamaan dipajang bersebelahan sehingga si pembeli bisa langsung comat-comot tanpa keliling toko kelontongnya yang luas, dengan harapan agar bisa menaikkan omset penjualannya.
Untuk dapat mengetahui barang-barang yang paling laku yang dibeli secara bersamaan om Joni mendaulat programmernya untuk membuat query SQL untuk data transaksi satu tahun terakhir guna mengetahui barang-barang yang paling laku yang dibeli secara bersamaan. Dengan jurus sakti dan senjata pamungkas, si programmer secepat kilat mendapatkan data yang diinginkan om Joni ...jebreettt!!!
Om Joni apalagi programmernya bingung... ternyata barang yang laku yang dibeli secara bersamaan dalam kurun waktu satu tahun terakhir banyak bingiits cuyy!!! Melihat bossnya yang melongo bin garuk-garuk kelapa eh kepala... si programmer langsung mengontak bala bantuan kakak seperguruan, seorang jawara ilmu sakti statistika.
Bahu membahu, si programmer dan kakak perguruannya, jungkir balik mengerahkan segala daya dan kemampuannya mengolah data transaksi yang berukuran besar tersebut untuk mendapatkan hasil yang diinginkan. Akhirnya selama dua hari dua malam, dua pedjoeang tersebut berhasil memecahkan masalah yang dihadapi bossnya... kkrraaakkk!!!
Om Joni tidak langsung senang, dengan mimik serius, om Joni langsung mengawasi penataan barang-barang yang dijual di tokonya sesuai dengan hasil dari programmer dan jawara statistika.
Hari demi hari, minggu demi minggu, omset penjualan toko kelontong om Joni mulai merangkak naik. Wajah om Joni yang tadinya mendung kelabu berubah menjadi cerah ceria... programmer dan kakak seperguruannya dianugerahi tanda jasa berupa Bintang Satya Darma Jualan Jaya yang terbuat dari emas murni 24 karat seberat 100 gram... wuiiiihhh lumayan tuh kalo digadein! :p
Esok harinya si programmer dipanggil menghadap. Om Joni menanyakan kepada programmer apakah bisa meramal barang apa yang akan laku dan tidak laku di masa depan sehingga bagian kulakan bisa mudah bekerja. Si programmer menyanggupi, namun ia memberi syarat kepada om Joni, untuk memberinya waktu mendalami jurus AI (Artificial Intelligence : kecerdasan buatan) agar menjadi seorang jawara, soalnyta ilmu AI programmer saat itu masih pemula. Om Joni langsung mengiyakan, ia langsung memberikan pundi-pundi perak agar programmernya mendalami ilmu AI tingkat dewa.
Singkat cerita, dari hasil pendalaman ilmu AI sampai tingkat dewa, programmer dapat meramalkan dan memprediksi barang-barang yang laku dan tidak laku di masa depan. Alhasil toko om Joni mulai mengalahkan toko-toko kelontong pesaing lainnya.
Pesan moral yang disampaikan dongeng ini (...halah!) adalah :
Dari dongeng di atas, programmer dan kakak seperguruannya si jawara statistik melakukan data mining untuk mencari tahu barang-barang yang paling laku yang dibeli secara bersamaan. Selain itu programmer melakukan data mining untuk memprediksi barang-barang yang laku atau tidak laku di masa depan dengan menggunakan AI.
Dalam data mining, ada data dalam jumlah yang sangat-sangat amat besar sekali, disimpan di dalam suatu database. Kemudian data besar yang ada di dalam database itu diolah-olah menggunakan algoritma-algoritma dan kaidah-kaidah statistik yang bertujuan menghasilkan informasi baru (yang nantinya disebut sebagai : knowledge -pengetahuan-).
Jadi data mining itu adalah proses pengolahan data menggunakan algoritma-algoritma dan kaidah-kaidah statistik yang bertujuan menghasilkan informasi baru. Eits!!! ntar dulu seiring perkembangannya, data mining tidak hanya membutuhkan ilmu mengenai database, algoritma, statistika, kecerdasan buatan, namun juga visualisasi, komputasi performa tinggi, IR (information retrieval) dan ilmu-ilmu lainnya.
Gara-gara kesalahan saya itu, kali ini saya ingin menebusnya dengan suatu (percobaan) penjelasan yang sederhana mengenai pengertian data mining buat seseorang di sana yang secara tak sengaja saya cuekin (semoga sudi memaafkan saya juga) dan bagi para pembelajar di Indonesia pada umumnya... yuk tariikkkk maaangggg...!
data mining berasal dari dua kata yaitu data dan mining (ya iya lah..!). data (menurut KBBI online) adalah keterangan yang benar dan nyata. Menurut Merriam-Webster online, data adalah factual information (as measurements or statistics) used as a basis for reasoning, discussion, or calculation (terjemahan menurut Google Translate : informasi faktual (sebagai pengukuran atau statistik) digunakan sebagai dasar untuk penalaran, diskusi, atau perhitungan). mining berasal dari kata dasar mine yang berarti tambang, mendapat akhiran -ing sehingga menjadi kata kerja yaitu menambang atau penambangan. Jadi kalau diartikan asal-asalan bin ngaco bin ngawur oleh bukan pakar bahasa, arti data mining adalah menambang data atau penambangan data (:p)
Nah sekarang kita lihat apa kata pakar IT di bidang data mining :
Data mining is synonymous with knowledge discovery in databases, knowledge extraction, data or pattern analysis, data archeology, data dredging, data snooping, data fishing, information harvesting, and business intelligence (Hand et al., 2001; Giudici, 2003; Han & Kamber, 2006) -Wang, John, Encyclopedia of Data Warehousing and Mining Second Edition, p. lxiv-
Terjemahan : Data mining ini identik dengan penemuan pengetahuan dalam database, ekstraksi pengetahuan, analisis data atau pola, arkeologi data, pengerukan data, menyadap data (seperti menyadap getah pohon karet), memancing data, memanen informasi, dan intelijen bisnis.
Itulah arti kata data ming dan pengertian data mining menurut pakar.... udah jelas kan? pasti beluuummmm... iya kaannnn...??? :)
Sekarang dengerin (maksudna : baca) dongeng saya mengenai data mining ...
Once upon a time (...halah!) ada suatu toko kelontong (eh, masih ada yang tahu arti kata kelontong ga ya? cari ndiri di KBBI online yak! :p ) yang laris manis, yang menjual barang sebanyak 1234 item setiap hari dari pagi sampe malem selama satu tahun cuma libur lebaran dan natal doang ( ...kesian amat pegawainya ya?!), melayani ribuan pembeli tiap harinya, dari sabang sampai merauke... merdeka!!!
Om Joni si empunya toko kelontong ini untungnya sudah melek TI... biar gampang ngitung kes flo (cash flow) dan laba rugi jualannya, om Joni menggunakan sistem terkomputerisasi. Semua data transaksi penjualan dan kulakannya disimpan pada database. Jadi tiap mau tutup toko atau tiap minggu atau tiap bulau atau tiap tahun, om Joni bisa langsung tahu kes flo dan laba ruginya dengan cepat, akurat.
Nah, pada chapter (...halah!) dongeng di atas tuh, yang diceritain adalah sistem informasi akuntansi pada toko kelontong om Joni... trus data miningnya mana??? sabar jooo... makan dulu tuh kacang goreng sama minum black coffee-nya! :p
Namanya bisnis, pasti punya saingan. Dari waktu ke waktu muncul toko-toko kelontong saingan toko om Joni... dan om Joni pun merasa terancam... kekhawatirannya terbukti dengan menurunnya omset penjualannya yang tampil di setiap laporan mingguan. Om Joni cari akal putar otak. Tiiiinnnggg! muncul ide gimana kalau barang-barang yang paling laku yang dibeli bersamaan dipajang bersebelahan sehingga si pembeli bisa langsung comat-comot tanpa keliling toko kelontongnya yang luas, dengan harapan agar bisa menaikkan omset penjualannya.
Untuk dapat mengetahui barang-barang yang paling laku yang dibeli secara bersamaan om Joni mendaulat programmernya untuk membuat query SQL untuk data transaksi satu tahun terakhir guna mengetahui barang-barang yang paling laku yang dibeli secara bersamaan. Dengan jurus sakti dan senjata pamungkas, si programmer secepat kilat mendapatkan data yang diinginkan om Joni ...jebreettt!!!
Om Joni apalagi programmernya bingung... ternyata barang yang laku yang dibeli secara bersamaan dalam kurun waktu satu tahun terakhir banyak bingiits cuyy!!! Melihat bossnya yang melongo bin garuk-garuk kelapa eh kepala... si programmer langsung mengontak bala bantuan kakak seperguruan, seorang jawara ilmu sakti statistika.
Bahu membahu, si programmer dan kakak perguruannya, jungkir balik mengerahkan segala daya dan kemampuannya mengolah data transaksi yang berukuran besar tersebut untuk mendapatkan hasil yang diinginkan. Akhirnya selama dua hari dua malam, dua pedjoeang tersebut berhasil memecahkan masalah yang dihadapi bossnya... kkrraaakkk!!!
Om Joni tidak langsung senang, dengan mimik serius, om Joni langsung mengawasi penataan barang-barang yang dijual di tokonya sesuai dengan hasil dari programmer dan jawara statistika.
Hari demi hari, minggu demi minggu, omset penjualan toko kelontong om Joni mulai merangkak naik. Wajah om Joni yang tadinya mendung kelabu berubah menjadi cerah ceria... programmer dan kakak seperguruannya dianugerahi tanda jasa berupa Bintang Satya Darma Jualan Jaya yang terbuat dari emas murni 24 karat seberat 100 gram... wuiiiihhh lumayan tuh kalo digadein! :p
Esok harinya si programmer dipanggil menghadap. Om Joni menanyakan kepada programmer apakah bisa meramal barang apa yang akan laku dan tidak laku di masa depan sehingga bagian kulakan bisa mudah bekerja. Si programmer menyanggupi, namun ia memberi syarat kepada om Joni, untuk memberinya waktu mendalami jurus AI (Artificial Intelligence : kecerdasan buatan) agar menjadi seorang jawara, soalnyta ilmu AI programmer saat itu masih pemula. Om Joni langsung mengiyakan, ia langsung memberikan pundi-pundi perak agar programmernya mendalami ilmu AI tingkat dewa.
Singkat cerita, dari hasil pendalaman ilmu AI sampai tingkat dewa, programmer dapat meramalkan dan memprediksi barang-barang yang laku dan tidak laku di masa depan. Alhasil toko om Joni mulai mengalahkan toko-toko kelontong pesaing lainnya.
Pesan moral yang disampaikan dongeng ini (...halah!) adalah :
Dari dongeng di atas, programmer dan kakak seperguruannya si jawara statistik melakukan data mining untuk mencari tahu barang-barang yang paling laku yang dibeli secara bersamaan. Selain itu programmer melakukan data mining untuk memprediksi barang-barang yang laku atau tidak laku di masa depan dengan menggunakan AI.
Dalam data mining, ada data dalam jumlah yang sangat-sangat amat besar sekali, disimpan di dalam suatu database. Kemudian data besar yang ada di dalam database itu diolah-olah menggunakan algoritma-algoritma dan kaidah-kaidah statistik yang bertujuan menghasilkan informasi baru (yang nantinya disebut sebagai : knowledge -pengetahuan-).
Jadi data mining itu adalah proses pengolahan data menggunakan algoritma-algoritma dan kaidah-kaidah statistik yang bertujuan menghasilkan informasi baru. Eits!!! ntar dulu seiring perkembangannya, data mining tidak hanya membutuhkan ilmu mengenai database, algoritma, statistika, kecerdasan buatan, namun juga visualisasi, komputasi performa tinggi, IR (information retrieval) dan ilmu-ilmu lainnya.
Senin, 29 Juli 2013
Cara Mengecek atau Memeriksa Versi MDAC
MDAC adalah kependekan dari Microsoft Data Access Components. Pada dasarnya MDAC adalah sekumpulan library yang diperlukan pada saat membuat program aplikasi atau menjalankan program aplikasi yang mengakses database. Biasanya MDAC berisi ActiveX Data Objects (ADO), OLE DB, and Open Database Connectivity (ODBC). Untuk lebih lengkap tentang MDAC silahkan dibaca di Wikipedia.
MDAC ini menjadi penting saat program aplikasi akan didistrbusikan (diinstall) ke komputer klien. Karena jika di komputer klien tidak terdapat MDAC yang tepat versinya, program aplikasi bisa jadi tidak dapat bekerja dengan sempurna.
Langkah-langkah untuk memeriksa MDAC di suatu komputer adalah melalui registry dengan langkah sebagai berikut :
Informasi versi yang ditemukan dalam kunci berikut:
Untuk dapat men-download MDAC silahkan klik link donwload MDAC ini.
Catatan : Pada saat kita menginstall software database system buatan Ms, biasanya MDAC sudah diikutsertakan dalam instalasi!
MDAC ini menjadi penting saat program aplikasi akan didistrbusikan (diinstall) ke komputer klien. Karena jika di komputer klien tidak terdapat MDAC yang tepat versinya, program aplikasi bisa jadi tidak dapat bekerja dengan sempurna.
Langkah-langkah untuk memeriksa MDAC di suatu komputer adalah melalui registry dengan langkah sebagai berikut :
Informasi versi yang ditemukan dalam kunci berikut:
HKEY_LOCAL_MACHINE\Software\Microsoft\DataAccess\FullInstallVer
Untuk memeriksa registri, ikuti langkah berikut: - Pada Mulai menu, klik Menjalankan.
- Dalam Terbuka kotak teks, ketik regedit kemudian klik Oke; ini mulai Peninjau Suntingan Registri.
- Di panel navigasi, drill-down lintasan berikut:HKEY_LOCAL_MACHINE\Software\Microsoft\DataAccess
- Di panel rincian, lihat di Nama kolom untuk FullInstallVer dan Versi. Masing-masing kunci ini akan memiliki informasi versi yang sesuai dalam Data kolom.
- Setelah selesai, klik Keluar pada Registri menu untuk menutup Registry Editor.
Untuk dapat men-download MDAC silahkan klik link donwload MDAC ini.
Catatan : Pada saat kita menginstall software database system buatan Ms, biasanya MDAC sudah diikutsertakan dalam instalasi!
Rabu, 08 Mei 2013
Perbedaan New Line dan Carriage Return (Difference of NL and CR)
Bro and sista yang suka otak atik program untuk baca-tulis file teks biasa (plain text atau ASCII text file) wajib baca link di bawah ini yang isinya perbedaan antara new line (\n) dengan carriage return (\r) terutama yang cross platform (Unix, Linux, MacOS, Windows) ... yuk langsung ke TKP :
http://stackoverflow.com/questions/3307747/difference-between-newline-and-carriage-return-r
http://stackoverflow.com/questions/3307747/difference-between-newline-and-carriage-return-r
Selasa, 09 April 2013
Referensi Perintah-Perintah Visual Foxpro 9
Berikut link yang berisi referensi perintah-perintah pada Visual Foxpro 9 (bhs. Inggris)
Semoga bermanfaat
http://msdn.microsoft.com/en-us/library/b660264t%28v=vs.80%29.aspx
Semoga bermanfaat
http://msdn.microsoft.com/en-us/library/b660264t%28v=vs.80%29.aspx
Jumat, 14 Desember 2012
Data Definition Language untuk Database JualanDB
create database jualanDB; use jualandb; drop table msbarang; drop table mssatuan; drop table mskasir; drop table trheader; drop table trdetail; drop table mscarabayar; drop table mscustomer; create table msbarang ( kdbrg varchar(10) primary key, nmbrg varchar(50), kdsat varchar(3), hrgsat int, jmlstok int ); create table mssatuan ( kdsat varchar(10) primary key, nmsat varchar(50) ); create table mskasir ( kdksr varchar(10) primary key, nmksr varchar(50), almksr varchar(50), tlpksr varchar(50), emlcust varchar(50), tgllhrksr date, noIDksr varchar(50), tglmsk date ); create table trheader ( kdtr varchar(10) primary key, tgltr datetime, kdcust varchar(10), kdksr varchar(10), kdbyr tinyint ); create table trdetail ( kdtr varchar(10), kdbrg varchar(10), hrgsat int, qtybrg int ); create table mscarabayar ( kdbyr varchar(10) primary key, descbyr varchar(50) ); create table mscustomer ( kdcust varchar(10) primary key, nmcust varchar(50), almcust varchar(50), tlpcust varchar(50), emlcust varchar(50), tgllhrcust date, noIDcust varchar(50), tglinp date ); insert into msbarang values ('B0001','Semen Padang','S0001',70000,500), ('B0002','Pasir Cimangkok','S0002',300000,6), ('B0003','Bata Merah','S0003',500,2500), ('B0004','Bata Kuning','S0003',1000,600), ('B0005','Batako','S0003',1500,3000), ('B0006','Bata Putih','S0003',2500,100), ('B0007','Semen Tiga Roda','S0001',80000,220), ('B0008','Batu Pondasi','S0002',500000,5), ('B0009','Genteng Press','S0003',2500,120), ('B0010','Batu Split','S0002',400000,7), ('B0011','Genteng Beton','S0001',2000,60), ('B0012','Tripleks KW 2','S0004',60000,30), ('B0013','Martil Cap Bango','S0001',40000,24), ('B0014','Semen Kujang','S0001',74500,30), ('B0015','Cat Tembok cap Jalak 1 ltr','S0005',75000,13); insert into mskasir values ('K0001','Jennifer Lupis','Pd. Gede',null,null,'1980-11-11','1234','2010-11-11'), ('K0002','Tuti Martuti','Jatiwaringin',null,null,'1981-11-11','5323','2010-11-11'), ('K0003','Fiona','Klp. Gading',null,null,'1980-12-11','5353','2010-11-11'), ('K0004','Lenny Marleni','Pluit',null,null,'1981-11-1','1113','2010-11-11'), ('K0005','Usilowati','Kramat Jati',null,null,'1980-1-12','2234','2010-11-11'); insert into mscustomer values ('C0001','Joni','Pd.Ranggon',null,null,null,null,'2012-12-14'), ('C0002','Didi','Jatimakmur',null,null,null,null,'2012-12-14'), ('C0003','Harry','Lubang Buaya',null,null,null,null,'2012-12-14'); insert into trheader values ('TR0001','2012-12-14','C0001','K0002',null), ('TR0002','2012-12-14','C0002','K0001',null), ('TR0003','2012-12-14','C0003','K0004',null); insert into trdetail values ('TR0001','B0004',1000,2), ('TR0001','B0001',70000,1), ('TR0002','B0003',500,7), ('TR0003','B0010',400000,2), ('TR0003','B0006',2500,3), ('TR0003','B0003',500,10); insert into mssatuan values ('S0001','sak'), ('S0002','m kubik'), ('S0003','biji'), ('S0004','lembar'), ('S0005','liter');
Jumat, 23 November 2012
Learn SQL Join with Simple Way
Right now I give super simple SQL queries to learn joins like inner join, right join, left join. These SQL commands are suitable for most RDBMS like MySQL, Oracle, SQL Server, etc. Hope you enjoy it!
Kali ini saya memberikan query-query sederhana SQL untuk belajar join seperti inner join, right join, left join. Perintah-perintah SQL yang ditulis cocok untuk sebagian besar RDBMS seperti MySQL, Oracle, SQL Server, dll. Selamat belajar!
create table pegawai (
nip varchar(3) primary key,
nama varchar(50),
atasan varchar(3)
);
insert into pegawai values
('001','ali','001'),
('002','budi','001'),
('003','buce','001'),
('004','cici','002'),
('005','dedi','002'),
('006','fifi','003');
create table gaji (
nip varchar(3),
gaji int(50)
);
insert into gaji values
('001',6000000),
('002',5000000),
('003',4000000),
('004',3000000),
('007',2000000),
('008',1000000);
-- inner join
SELECT
pegawai.nip,
pegawai.nama,
gaji.gaji
FROM pegawai
inner join gaji
on pegawai.nip = gaji.nip
-- inner join dengan alias
SELECT
a.nip,
a.nama,
b.gaji
FROM pegawai AS a
inner join gaji as B
on a.nip = b.nip
-- left join
SELECT
pegawai.nip,
pegawai.nama,
gaji.gaji
FROM pegawai LEFT join gaji
on pegawai.nip = gaji.nip
-- right join
SELECT
pegawai.nip,
pegawai.nama,
gaji.gaji
FROM pegawai RIGHT join gaji
on pegawai.nip = gaji.nip
-- contoh lain
-- menampilkan nama pegawai
-- yg gajinya di atas 4 jt
SELECT
pegawai.nama
FROM pegawai
inner join gaji
on pegawai.nip = gaji.nip
where gaji.gaji > 4000000
-- contoh lagi
-- menampilkan nama pegawai
-- yg blm memiliki gaji
SELECT
pegawai.nama
FROM pegawai
left join gaji
on pegawai.nip = gaji.nip
where gaji.gaji is null
-- contoh inner join implisit
-- (tidak memakai perintah inner join)
SELECT
pegawai.nip,
pegawai.nama,
gaji.gaji
FROM pegawai, gaji
WHERE pegawai.nip = gaji.nip
create table golongan (
nip varchar(3),
gol int default 1,
tglSK date
);
insert into golongan values
('001',6, '2000-02-02'),
('002',5, '2000-02-02'),
('003',3, '2000-03-03'),
('004',3, '2000-03-03'),
('005',2, '2002-11-11'),
('006',1, '2002-11-11');
-- inner join lebih dari dua tabel
select
pegawai.nip,
pegawai.nama,
golongan.gol,
gaji.gaji
from pegawai
inner join golongan
on pegawai.nip = golongan.nip
inner join gaji
on pegawai.nip = gaji.nip
Kali ini saya memberikan query-query sederhana SQL untuk belajar join seperti inner join, right join, left join. Perintah-perintah SQL yang ditulis cocok untuk sebagian besar RDBMS seperti MySQL, Oracle, SQL Server, dll. Selamat belajar!
create table pegawai (
nip varchar(3) primary key,
nama varchar(50),
atasan varchar(3)
);
insert into pegawai values
('001','ali','001'),
('002','budi','001'),
('003','buce','001'),
('004','cici','002'),
('005','dedi','002'),
('006','fifi','003');
create table gaji (
nip varchar(3),
gaji int(50)
);
insert into gaji values
('001',6000000),
('002',5000000),
('003',4000000),
('004',3000000),
('007',2000000),
('008',1000000);
-- inner join
SELECT
pegawai.nip,
pegawai.nama,
gaji.gaji
FROM pegawai
inner join gaji
on pegawai.nip = gaji.nip
-- inner join dengan alias
SELECT
a.nip,
a.nama,
b.gaji
FROM pegawai AS a
inner join gaji as B
on a.nip = b.nip
-- left join
SELECT
pegawai.nip,
pegawai.nama,
gaji.gaji
FROM pegawai LEFT join gaji
on pegawai.nip = gaji.nip
-- right join
SELECT
pegawai.nip,
pegawai.nama,
gaji.gaji
FROM pegawai RIGHT join gaji
on pegawai.nip = gaji.nip
-- contoh lain
-- menampilkan nama pegawai
-- yg gajinya di atas 4 jt
SELECT
pegawai.nama
FROM pegawai
inner join gaji
on pegawai.nip = gaji.nip
where gaji.gaji > 4000000
-- contoh lagi
-- menampilkan nama pegawai
-- yg blm memiliki gaji
SELECT
pegawai.nama
FROM pegawai
left join gaji
on pegawai.nip = gaji.nip
where gaji.gaji is null
-- contoh inner join implisit
-- (tidak memakai perintah inner join)
SELECT
pegawai.nip,
pegawai.nama,
gaji.gaji
FROM pegawai, gaji
WHERE pegawai.nip = gaji.nip
create table golongan (
nip varchar(3),
gol int default 1,
tglSK date
);
insert into golongan values
('001',6, '2000-02-02'),
('002',5, '2000-02-02'),
('003',3, '2000-03-03'),
('004',3, '2000-03-03'),
('005',2, '2002-11-11'),
('006',1, '2002-11-11');
-- inner join lebih dari dua tabel
select
pegawai.nip,
pegawai.nama,
golongan.gol,
gaji.gaji
from pegawai
inner join golongan
on pegawai.nip = golongan.nip
inner join gaji
on pegawai.nip = gaji.nip
Senin, 30 Juli 2012
Display Image from SQL Server to VB.Net Form
Regarding to previous post about how to store image use SQL command , here is the complete SQL commands and VB.Net source code and commands to display the image from SQL database to a VB.Net PictureBox on a Form.
Posting ini bisa disebut pelengkap dari postingan sebelumnya (http://ilmubiner.blogspot.com/2010/08/menyimpan-file-gambar-pada-database-sql.html) mengenai cara menyimpan image pada SQL server menggunakan perintah SQL. Nah sekarang adalah perintah SQL lengkap untuk menyimpan data image ke database dan source code VB.Net (2005) untuk menampilkan image dari database ke sebuah PictureBox.
SQL Server commands to create database, table, and insert commands to store images files :
VB.Net source code to get image data stored in SQL Server and display to a Form (use PictureBox) :
Posting ini bisa disebut pelengkap dari postingan sebelumnya (http://ilmubiner.blogspot.com/2010/08/menyimpan-file-gambar-pada-database-sql.html) mengenai cara menyimpan image pada SQL server menggunakan perintah SQL. Nah sekarang adalah perintah SQL lengkap untuk menyimpan data image ke database dan source code VB.Net (2005) untuk menampilkan image dari database ke sebuah PictureBox.
SQL Server commands to create database, table, and insert commands to store images files :
create database ujicoba; use ujicoba CREATE TABLE pegawai ( nip int, nama varchar(50) not null, foto varbinary(max) not null ) INSERT INTO Pegawai (nip, nama, foto) SELECT 10, 'Winona Ryder', BulkColumn from Openrowset( Bulk 'E:\winona.jpg', Single_Blob) as EmployeePicture INSERT INTO Pegawai (nip, nama, foto) SELECT 20, 'Jessica Alba', BulkColumn from Openrowset( Bulk 'E:\jess_alba.jpg', Single_Blob) as EmployeePicture
VB.Net source code to get image data stored in SQL Server and display to a Form (use PictureBox) :
Imports System.Data.SqlClient Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim con As New SqlConnection("Data Source=10.20.30.176;Initial Catalog=ujicoba; Integrated Security=True; Persist Security Info=FALSE;") con.Open() Dim cmd As New SqlCommand("select nip, nama, foto From pegawai", con) Dim dr As SqlDataReader = cmd.ExecuteReader() Dim dt As New DataTable dt.Load(dr) Dim row As DataRow = dt.Rows(0) txtNIP.Text = row("nip") txtNama.Text = row("nama") 'Dim ms As New IO.MemoryStream(CType(row("foto"), Byte())) 'Dim img As Image = Image.FromStream(New IO.MemoryStream(CType(row("foto"), Byte()))) picBox.Image = Image.FromStream(New IO.MemoryStream(CType(row("foto"), Byte()))) End Sub End Class
Rabu, 23 Mei 2012
Case - When - Then - Else Script Example in SQL Server
This example is use Northwind database in SQL Server.
Contoh perintah SQL berikut menggunakan database Northwind di SQL Server.
This query is to display grand total each order and the description of grand total according to sales target which is $500.
Query ini menampilkan grand total dari setiap order dan keterangan menurut target penjualan yaitu sebesar $500.
The query :
Query-nya :
Modification the query, for example; we want to know grand total each employee on August 1994 :
Modifikasi query untuk mengetahui grand total setiap pegawai pada bulan Agustus 1994 :
Happy learning! Selamat belajar!
Contoh perintah SQL berikut menggunakan database Northwind di SQL Server.
This query is to display grand total each order and the description of grand total according to sales target which is $500.
Query ini menampilkan grand total dari setiap order dan keterangan menurut target penjualan yaitu sebesar $500.
The query :
Query-nya :
select a.orderid, c.firstname + ' ' + c.lastname as employeename, sum(b.unitprice*b.quantity) as subtotal, description = case when sum(b.unitprice*b.quantity) > 500 then 'over target' when sum(b.unitprice*b.quantity) < 500 then 'under target' when sum(b.unitprice*b.quantity) = 500 then 'on target' else 'n/a' end from orders a inner join [order details] b on a.orderid = b.orderid inner join employees c on a.employeeid = c.employeeid group by a.orderid, c.firstname + ' ' + c.lastname order by a.orderid
Modification the query, for example; we want to know grand total each employee on August 1994 :
Modifikasi query untuk mengetahui grand total setiap pegawai pada bulan Agustus 1994 :
select c.firstname + ' ' + c.lastname as employeename, sum(b.unitprice*b.quantity) as subtotal, description = case when sum(b.unitprice*b.quantity) > 5000 then 'over target' when sum(b.unitprice*b.quantity) < 5000 then 'under target' when sum(b.unitprice*b.quantity) = 5000 then 'on target' else 'n/a' end from orders a inner join [order details] b on a.orderid = b.orderid inner join employees c on a.employeeid = c.employeeid where month(a.orderdate) = 8 and year(a.orderdate) = 1994 group by c.firstname + ' ' + c.lastname order by c.firstname + ' ' + c.lastname
Happy learning! Selamat belajar!
Selasa, 11 Oktober 2011
SQLite, Lite Ukurannya, Lite Perintahnya
Awal mulainya sih SQLite gue cuekin. Tapi waktu mulai pakai Android... eh kok database-nya pakai SQLite ya? Nah mulai dari situ rada-rada penasaran, tapi masih agak cuek. Dan masih pakai mySQL di PHP. Padahal PHP sudah mendukung SQLite.
Belakangan... lagi mikir lagi (dulu pernah mikir) gimana caranya nempelin data yang lumayan banyak dalam file .exe tapi gampang di-manage. Berhubung belum ada bayangan, iseng-iseng cari database alternatif... nah kebetulan inget lagi SQLite... penasaran sama "lite"-nya. Seberapa "lite" sih? So, nanya mbah Gugel lah akhirnya. Nih sekelumit cerita dari mbah Gugel.
SQLite tuh yang bikin pak de Richard Hipp tahun 2000. Waktu itu pake de Hipp bekerja di General Dynamic (pabrik yang bikin pesawat tempur F-16!) yang lagi ngerjain proyeknya US Navy. Kerjaan pak de Hipp bikin program yang mau dipasang di dalam rudal penghancur kapal yang berbasis sistem operasi HP-UX dan database Informix. Mungkin pak de pikir Informix kebesaran kali ye, jadinya ya dia bikin sendiri database yang imut tapi tidak amit... maka jadilah SQLite. Dan yang paling salut sama pak de Hipp, beliau buka source code-nya untuk umum! Eh source code-nya pakai bahasa C lho (kalo di sini boro-boro dibuka... minta bayarannya selangit!).
Yuk kita kenalan sama SQLite ini :
Belakangan... lagi mikir lagi (dulu pernah mikir) gimana caranya nempelin data yang lumayan banyak dalam file .exe tapi gampang di-manage. Berhubung belum ada bayangan, iseng-iseng cari database alternatif... nah kebetulan inget lagi SQLite... penasaran sama "lite"-nya. Seberapa "lite" sih? So, nanya mbah Gugel lah akhirnya. Nih sekelumit cerita dari mbah Gugel.
SQLite tuh yang bikin pak de Richard Hipp tahun 2000. Waktu itu pake de Hipp bekerja di General Dynamic (pabrik yang bikin pesawat tempur F-16!) yang lagi ngerjain proyeknya US Navy. Kerjaan pak de Hipp bikin program yang mau dipasang di dalam rudal penghancur kapal yang berbasis sistem operasi HP-UX dan database Informix. Mungkin pak de pikir Informix kebesaran kali ye, jadinya ya dia bikin sendiri database yang imut tapi tidak amit... maka jadilah SQLite. Dan yang paling salut sama pak de Hipp, beliau buka source code-nya untuk umum! Eh source code-nya pakai bahasa C lho (kalo di sini boro-boro dibuka... minta bayarannya selangit!).
Yuk kita kenalan sama SQLite ini :
- Kalo Oracle, mySQL, SQL Server termasuk RDBMS (Relational DataBase Management System). SQLite termasuk ERDBMS (Embedded RDBMS). Maksudnya embedded; database SQLite sebagai library dan di-compile bersama programnya... dan menjadi bagian terintegrasi dengan program aplikasi.
- SQLite merujuk pada SQL-92 namun pastinya ada pengurangan fitur-fitur (biar ukurannya kecil).
- Mendukung multithread untuk baca data. Tapi kalau nulis data, menerapkan locking database (satu database dikunci, sehingga user lain tidak bisa mengubah atau menambah data pada tabel lain).
- Secara opsional mendukung karakter Unicode.
- Bahasa pemrograman yang didukung : BASIC, C, C++, Clipper//Harbour, Common Lisp, C#, Curl, D, Delphi, Haskell, Java, Lua, newLisp, Objective-C (Mac OS X dan iOS), OCaml, Perl, PHP, Pike, Python, REBOL, R, REALbasic, Ruby, Scheme, Smalltalk, Tcl, Visual Basic, and JavaScript. Ada juga COM (ActiveX) wrapper sehingga dapat diakses melalui JScript and VBScript. Lezaaattt :p
- Program yang udah menyertakan SQLite di dalamnya :
- Mozilla Firefox, Mozilla Thunderbird (bookmarks, cookies, contacts dsb.) .
- Skype.
- Adobe Photoshop Lightroom, Adobe AIR, Adobe Reader.
- Ruby on Rails'.
- Opera.
- Service Management Facility pada Solaris dan OpenSolaris.
- HTML5 menerapkan SQLite sebagai WebSimpleDB API.
- Apple's iOS (SMS/MMS, Calendar, Call history, Contacts storage).
- Symbian.
- Nokia's Maemo.
- Google's Android.
- Google's Chrome browser.
- RIM's BlackBerry.
- Linux Foundation's MeeGo.
- Palm's webOS.
Kamis, 21 April 2011
Masalah pada Penamaan VB.Net, Database SQL Server dan Access
*glodagh!*
Berdasakan pengalaman dari dulu, bahwasannya membuat suatu nama (misal nama file, nama prosedur, nama tabel, dan nama-nama lainnya) tidak boleh menggunakan SPASI menjadi aturan baku yang tidak bisa diganggu gugat. Ternyata kemarin mendapatkan problem karena ada nama tabel yang memakai spasi!!!
Gara-garanya adalah tabel tersebut sudah dibuat sangat lama (mungkin waktu masih super bego) kemudian digunakan lagi dalam membuat program VB.Net yang mengakses database... alhasil selama tiga hari mencari-cari penyebab masalah tidak bisanya data disimpan di dalam database tanpa menggunakan perintah SQL "insert" secara eksplisit (melalui dataset). Nah setelah nama tabelnya diganti (spasinya dihilangkan), barulah programmnya berjalan dengan benar.
Kesimpulan :
Jika ingin membuat nama, nama apa saja, nama file kek, nama database kek, nama class kek... jangan menggunakan SPASI walaupun sistem operasi Windows dan aplikasi-aplikasinya mendukung pemakaian spasi untuk penamaan. Gunakanlah garis bawah (underscore) sebagai pengganti spasi, atau dapat juga menggunakan cara penulisan punuk Onta (Camel text) Contoh : Hitung Total() diganti dengan Hitung_Total() atau HitungTotal()
Berdasakan pengalaman dari dulu, bahwasannya membuat suatu nama (misal nama file, nama prosedur, nama tabel, dan nama-nama lainnya) tidak boleh menggunakan SPASI menjadi aturan baku yang tidak bisa diganggu gugat. Ternyata kemarin mendapatkan problem karena ada nama tabel yang memakai spasi!!!
Gara-garanya adalah tabel tersebut sudah dibuat sangat lama (mungkin waktu masih super bego) kemudian digunakan lagi dalam membuat program VB.Net yang mengakses database... alhasil selama tiga hari mencari-cari penyebab masalah tidak bisanya data disimpan di dalam database tanpa menggunakan perintah SQL "insert" secara eksplisit (melalui dataset). Nah setelah nama tabelnya diganti (spasinya dihilangkan), barulah programmnya berjalan dengan benar.
Kesimpulan :
Jika ingin membuat nama, nama apa saja, nama file kek, nama database kek, nama class kek... jangan menggunakan SPASI walaupun sistem operasi Windows dan aplikasi-aplikasinya mendukung pemakaian spasi untuk penamaan. Gunakanlah garis bawah (underscore) sebagai pengganti spasi, atau dapat juga menggunakan cara penulisan punuk Onta (Camel text) Contoh : Hitung Total() diganti dengan Hitung_Total() atau HitungTotal()
Senin, 16 Agustus 2010
Menyimpan File Gambar pada Database SQL Server Hanya Menggunakan Perintah SQL
Berikut cara menyimpan file gambar pada database SQL Server hanya menggunakan perintah SQL saja tanpa menggunakan front end atau middle ware lagi.
Oh iya, perintah SQL di atas untuk SQL Server 2005 mudah-mudahkan kompatibel dengan 2008 dan belum dites! (belum sempat, lagi buru-buru pulang buka puasa di rumah hehehe) Sudah dites di SQL Server 2008 dan sukses (confirmed by Wulung)
CREATE TABLE Employees(
Id int,
Name varchar(50) not null,
Photo varbinary(max) not null
)
INSERT INTO Employees (Id, Name, Photo)
SELECT 10, 'John',
BulkColumn from
Openrowset( Bulk 'C:\photo.bmp', Single_Blob)
as EmployeePicture
Kamis, 29 April 2010
Soal Kuis Database SQL 29Apr10
- Buatlah sebuah database bernama Kuis1
- Tambahkan sebuah file data yang ukuran awalnya 3 mb, ukuran maksimumnya 5 MB, dan pertumbuhannya 20%
- Tambahkan pulah sebuah file log yang spesifikasinya sama dengan file data di soal no. 2
- Di dalam database Kuis1, buatlah sebuah tabel bernama Customer yang memiliki kolom-kolom sebagai berikut : kdcust, nmcust, alamatcust, tgl_lahircust, beratcust, tinggicust, goldarahcust,notelpcust, emailcust
- Isilah tabel Customer dengan lima data dummy
- Tampilkan semua data customer
- Tampilkan data customer yang beratnya kurang dari 45 kg
- Ada berapa banyak cucstomer yang golongan darahnya O?
- Tampilkan kdcusr dan nmcust yang tingginya 150 cm s/d 160 cm
- Tampilkan data customer yang diurutkan berdasarkan berat dan tingginya
- Hitung berapa banyak customer yang lahir di bulan April
- Hitung pula banyaknya customer berdasarkan tahun lahirnya
- Tampilkan data customer yang tinggal di Jakarta, Bekasi, Tangerang
- Berapakan total berat customer yang dikelompokkan berdasarkan beratnya
- Tampilkan kdcust, nama, dan umurnya
Kamis, 18 Februari 2010
BC RS SQL Exam Answers
Maaf atas keterlambatannya.
Semua perintah saya ambil dr pekerjaan pak Yudho, kecuali trigger.
--1--
create database dbMakmur
on
(
name = dbMakmur01,
filename = 'D:\dtmakmur01.mdf',
size = 2mb,
maxsize = 15mb,
filegrowth = 1 MB
),
(
name = dbMakmur02,
filename = 'D:\dtmakmur02.ndf'
),
(
name = dbMakmur03,
filename = 'D:\dtmakmur03.ndf'
)
Log ON
(
name = dbMakmur_Log,
filename = 'D:\dtmakmurlog.ldf'
)
--2--
use dbmakmur
Create table MsStaff (
KdStaff char(5) not null,
NmStaff varchar(25) not null,
Alamat varchar(40) not null,
NoRek varchar(12) not null,
KdBank Char(1) not null,
LevelStaff char(1) default 5,
Komisi money )
Create table KomisiBulanan (
Bulan int not null,
KdStaff char(5) not null,
KomisiBulanan Money not null,
StatusBayar char(1) default 'T')
Create table MsProspek(
KdProspek char(5) not null,
NamaProspek varchar(25) not null,
JenKel char(1) default 'L',
Alamat varchar(40) not null,
Kota varchar(15) default 'Jakarta',
Telp varchar(15),
TglLahir datetime not null)
create table trAsuransi (
TglTransaksi datetime not null,
kdTransaksi char(5) not null,
kdProspek char(5) not null,
kdStaff char(5) not null,
Status char(1) default 'T')
--3--
insert into msStaff values('S0001','Alan Smith', 'Jl. Mawar No 10','751-3526360','1','3',200)
insert into msStaff values('S0002','Bernard Shaw', 'Jl. Anggrek 23' ,'751-3526360','1','3',200)
insert into msStaff values('S0003','Maria Sand', 'Jl. Anggrek 54' ,'751-3569857','2','4',135)
insert into msStaff values('S0004','Karl Max', 'Jl. Asoka 43' ,'654-5965321','3','4',135)
insert into msStaff values('S0005','Lenny Gosh', 'Jl. Kamboja 54' ,'351-7845235','3','5',75)
insert into msStaff values('S0006','Sorl Karl', 'Jl. Mawar 27' ,'567-9535263','1','5',75)
insert into msStaff values('S0007','Penny G.', 'Jl. Sepatu 51' ,'921-9595356','2','5',75)
insert into KomisiBulanan values(01,'S0006', 75,'T')
insert into KomisiBulanan values(01,'S0002', 400,'T')
insert into KomisiBulanan values(01,'S0007', 75,'T')
insert into KomisiBulanan values(01,'S0005', 75,'T')
insert into msProspek values('P0001','Adam Pasaribu', 'L','Jl Layang 10','Jakarta' ,'7451235','1971-12-05')
insert into msProspek values('P0002','Albert Wijaya', 'L','Jl Warna 15','Jakarta' ,'3512623','1968-03-17')
insert into msProspek values('P0003','Fani S' , 'P','Jl Tumbuk 34','Jakarta' ,'4531626','1979-08-15')
insert into msProspek values('P0004','Stefanus W' , 'L','Jl Warna 20','Jakarta' ,'3516267','1970-02-04')
insert into msProspek values('P0005','Lena Putri' , 'P','Jl Nila 45','Jakarta' ,'5623523','1968-10-05')
insert into msProspek values('P0006','Maria S.' , 'P','Jl Mujair 20','Bandung' ,'5468412','1959-01-30')
insert into msProspek values('P0007','Manise R.' , 'P','Jl Komodo 14','Bandung' ,'784562' ,'1973-02-01')
insert into msProspek values('P0008','Diego Ribas' , 'L','Jl Pangeran 30','Jakarta','4568952','1978-08-06')
insert into TrAsuransi values('2004-01-01','T0001','P0001','S0001','T')
insert into TrAsuransi values('2004-01-01','T0002','P0002','S0006','Y')
insert into TrAsuransi values('2004-01-01','T0003','P0003','S0002','Y')
insert into TrAsuransi values('2004-01-01','T0004','P0004','S0005','T')
insert into TrAsuransi values('2004-01-01','T0005','P0005','S0002','T')
insert into TrAsuransi values('2004-01-01','T0006','P0006','S0007','Y')
insert into TrAsuransi values('2004-01-01','T0007','P0007','S0002','Y')
insert into TrAsuransi values('2004-01-01','T0008','P0008','S0005','Y')
--4--
--Alter--
--1--
alter database dbMakmur
add log file (
name = dbMakmur_Log02,
filename = 'D:\dtmakmurlog02.ldf'
)
--2--
alter database dbMakmur
REMOVE file dbmakmur03
--3--
alter table msStaff
alter column NmStaff varchar(30)
--4--
alter table msProspek
alter column TglLahir Smalldatetime
--5--
alter table msStaff
add constraint pk_KdStaff primary key (kdStaff)
alter table KomisiBulanan
add constraint fk_KdStaff
Foreign key (kdStaff) REFERENCES msStaff(kdStaff)
alter table msProspek
add constraint pk_KdProspek primary key (kdProspek)
alter table TrAsuransi
add constraint fk_KdStaff_trAsuransi
Foreign key (kdStaff) REFERENCES msStaff(kdStaff)
alter table TrAsuransi
add constraint fk_kdPorspek_trAsuransi
Foreign key (kdProspek) REFERENCES msProspek(kdProspek)
------
--query--
--1--
select * from trAsuransi where status ='t'
--2--
select * from msProspek where year(tglLahir)>1970
--3--
select a.kdstaff,a.nmstaff from Msstaff as a
left join komisibulanan as b
on a.kdstaff = b.kdstaff
where b.kdstaff is null
--4--
select a.kdstaff,a.nmstaff from Msstaff as a
left join trAsuransi as b
on a.kdstaff = b.kdstaff
where b.kdstaff is null
----
--view--
--1--
CREATE VIEW vw_transaksi AS
SELECT a.tgltransaksi,a.kdprospek, b.NamaProspek, a.kdstaff,c.nmStaff
FROM trAsuransi as a
inner join msprospek as b on a.kdprospek = b.kdprospek
inner join msStaff as c on a.kdstaff = c.kdstaff
--2--
CREATE VIEW vw_transaksi_stj AS
SELECT * FROM trAsuransi where [Status] = 'Y'
--3--
CREATE VIEW vw_transaksi_stj AS
SELECT a.kdstaff,b.nmStaff,count(*) as transaksi
FROM trAsuransi as a
inner join msStaff as b on a.kdStaff = b.kdStaff
group by a.kdstaff,b.nmStaff
-----
--store procedure--
--1--
CREATE PROCEDURE PR_staffTr
(@kdstaff CHAR(5))
AS
select * from trAsuransi
WHERE kdstaff =@kdstaff
exec pr_staffTr 'S0007'
--2--
CREATE PROCEDURE PR_prospekTr
(@kdprospek CHAR(5))
AS
select a.kdprospek,tgltransaksi, NamaProspek,JenKel,Alamat,Kota,Telp,TglLahir,[status]
from trAsuransi as a
inner join msprospek as b on a.kdprospek = b.kdprospek
WHERE a.kdprospek =@kdprospek
exec PR_prospekTr'P0001'
create trigger tr_1 on trasuransi for insert as
declare @status char(1)
set @status = (select status from inserted)
if @status = 'y'
begin
declare @komisi money
set @komisi = (select komisi from msstaff where kdstaff = (select kdstaff from inserted))
declare @bulan int
set @bulan = (select count(bulan) from komisibulanan where kdstaff = (select kdstaff from inserted) and bulan = (select month(tgltransaksi) from inserted))
if @bulan > 0
begin
update komisibulanan set komisibulanan = komisibulanan + @komisi where kdstaff = (select kdstaff from inserted)
print 'Komisi Bulanan terupdate'
end
else
begin
declare @bln int, @kdstaff char(5)
set @bln = (select month(tgltransaksi) from inserted)
set @kdstaff = (select kdstaff from inserted)
insert into komisibulanan values (@bln,@kdstaff,@komisi,'T')
print 'Komisi Bulanan terinsert'
end
end
-- test case tr_1
select * from komisibulanan
insert into TrAsuransi values('2004-01-02','T0009','P0001','S0001','Y')
insert into TrAsuransi values('2004-01-02','T0010','P0001','S0002','Y')
select * from komisibulanan
-- end of test case tr_1
create trigger tr_2 on msprospek for update as
declare @kdprospek_lama char(5), @kdprospek_baru char(5)
set @kdprospek_lama = (select kdprospek from deleted)
set @kdprospek_baru = (select kdprospek from inserted)
if @kdprospek_lama <> @kdprospek_baru
begin
rollback tran
print 'Kode Prospek tidak boleh diubah!!!'
end
-- test case tr_2
insert msprospek values ('p0010','dummy','x','dummy','dummy','dummy','1900-01-01')
select * from msprospek
update msprospek set kdprospek = 'xxx' where kdprospek = 'p0010'
-- end of test case tr_2
create trigger tr_3 on msprospek for delete as
declare @kdprospek char(5), @status char(1)
set @kdprospek = (select kdprospek from deleted)
set @status = (select status from trasuransi where kdprospek = @kdprospek)
if @status = 'T'
begin
rollback tran
print 'Data prospek tidak boleh dihapus!'
end
else
begin
delete from trasuransi where kdprospek = @kdprospek
end
-- test case tr_3
select * from trasuransi
delete from msprospek where kdprospek = 'p0001'
-- end of test case tr_3
Semua perintah saya ambil dr pekerjaan pak Yudho, kecuali trigger.
--1--
create database dbMakmur
on
(
name = dbMakmur01,
filename = 'D:\dtmakmur01.mdf',
size = 2mb,
maxsize = 15mb,
filegrowth = 1 MB
),
(
name = dbMakmur02,
filename = 'D:\dtmakmur02.ndf'
),
(
name = dbMakmur03,
filename = 'D:\dtmakmur03.ndf'
)
Log ON
(
name = dbMakmur_Log,
filename = 'D:\dtmakmurlog.ldf'
)
--2--
use dbmakmur
Create table MsStaff (
KdStaff char(5) not null,
NmStaff varchar(25) not null,
Alamat varchar(40) not null,
NoRek varchar(12) not null,
KdBank Char(1) not null,
LevelStaff char(1) default 5,
Komisi money )
Create table KomisiBulanan (
Bulan int not null,
KdStaff char(5) not null,
KomisiBulanan Money not null,
StatusBayar char(1) default 'T')
Create table MsProspek(
KdProspek char(5) not null,
NamaProspek varchar(25) not null,
JenKel char(1) default 'L',
Alamat varchar(40) not null,
Kota varchar(15) default 'Jakarta',
Telp varchar(15),
TglLahir datetime not null)
create table trAsuransi (
TglTransaksi datetime not null,
kdTransaksi char(5) not null,
kdProspek char(5) not null,
kdStaff char(5) not null,
Status char(1) default 'T')
--3--
insert into msStaff values('S0001','Alan Smith', 'Jl. Mawar No 10','751-3526360','1','3',200)
insert into msStaff values('S0002','Bernard Shaw', 'Jl. Anggrek 23' ,'751-3526360','1','3',200)
insert into msStaff values('S0003','Maria Sand', 'Jl. Anggrek 54' ,'751-3569857','2','4',135)
insert into msStaff values('S0004','Karl Max', 'Jl. Asoka 43' ,'654-5965321','3','4',135)
insert into msStaff values('S0005','Lenny Gosh', 'Jl. Kamboja 54' ,'351-7845235','3','5',75)
insert into msStaff values('S0006','Sorl Karl', 'Jl. Mawar 27' ,'567-9535263','1','5',75)
insert into msStaff values('S0007','Penny G.', 'Jl. Sepatu 51' ,'921-9595356','2','5',75)
insert into KomisiBulanan values(01,'S0006', 75,'T')
insert into KomisiBulanan values(01,'S0002', 400,'T')
insert into KomisiBulanan values(01,'S0007', 75,'T')
insert into KomisiBulanan values(01,'S0005', 75,'T')
insert into msProspek values('P0001','Adam Pasaribu', 'L','Jl Layang 10','Jakarta' ,'7451235','1971-12-05')
insert into msProspek values('P0002','Albert Wijaya', 'L','Jl Warna 15','Jakarta' ,'3512623','1968-03-17')
insert into msProspek values('P0003','Fani S' , 'P','Jl Tumbuk 34','Jakarta' ,'4531626','1979-08-15')
insert into msProspek values('P0004','Stefanus W' , 'L','Jl Warna 20','Jakarta' ,'3516267','1970-02-04')
insert into msProspek values('P0005','Lena Putri' , 'P','Jl Nila 45','Jakarta' ,'5623523','1968-10-05')
insert into msProspek values('P0006','Maria S.' , 'P','Jl Mujair 20','Bandung' ,'5468412','1959-01-30')
insert into msProspek values('P0007','Manise R.' , 'P','Jl Komodo 14','Bandung' ,'784562' ,'1973-02-01')
insert into msProspek values('P0008','Diego Ribas' , 'L','Jl Pangeran 30','Jakarta','4568952','1978-08-06')
insert into TrAsuransi values('2004-01-01','T0001','P0001','S0001','T')
insert into TrAsuransi values('2004-01-01','T0002','P0002','S0006','Y')
insert into TrAsuransi values('2004-01-01','T0003','P0003','S0002','Y')
insert into TrAsuransi values('2004-01-01','T0004','P0004','S0005','T')
insert into TrAsuransi values('2004-01-01','T0005','P0005','S0002','T')
insert into TrAsuransi values('2004-01-01','T0006','P0006','S0007','Y')
insert into TrAsuransi values('2004-01-01','T0007','P0007','S0002','Y')
insert into TrAsuransi values('2004-01-01','T0008','P0008','S0005','Y')
--4--
--Alter--
--1--
alter database dbMakmur
add log file (
name = dbMakmur_Log02,
filename = 'D:\dtmakmurlog02.ldf'
)
--2--
alter database dbMakmur
REMOVE file dbmakmur03
--3--
alter table msStaff
alter column NmStaff varchar(30)
--4--
alter table msProspek
alter column TglLahir Smalldatetime
--5--
alter table msStaff
add constraint pk_KdStaff primary key (kdStaff)
alter table KomisiBulanan
add constraint fk_KdStaff
Foreign key (kdStaff) REFERENCES msStaff(kdStaff)
alter table msProspek
add constraint pk_KdProspek primary key (kdProspek)
alter table TrAsuransi
add constraint fk_KdStaff_trAsuransi
Foreign key (kdStaff) REFERENCES msStaff(kdStaff)
alter table TrAsuransi
add constraint fk_kdPorspek_trAsuransi
Foreign key (kdProspek) REFERENCES msProspek(kdProspek)
------
--query--
--1--
select * from trAsuransi where status ='t'
--2--
select * from msProspek where year(tglLahir)>1970
--3--
select a.kdstaff,a.nmstaff from Msstaff as a
left join komisibulanan as b
on a.kdstaff = b.kdstaff
where b.kdstaff is null
--4--
select a.kdstaff,a.nmstaff from Msstaff as a
left join trAsuransi as b
on a.kdstaff = b.kdstaff
where b.kdstaff is null
----
--view--
--1--
CREATE VIEW vw_transaksi AS
SELECT a.tgltransaksi,a.kdprospek, b.NamaProspek, a.kdstaff,c.nmStaff
FROM trAsuransi as a
inner join msprospek as b on a.kdprospek = b.kdprospek
inner join msStaff as c on a.kdstaff = c.kdstaff
--2--
CREATE VIEW vw_transaksi_stj AS
SELECT * FROM trAsuransi where [Status] = 'Y'
--3--
CREATE VIEW vw_transaksi_stj AS
SELECT a.kdstaff,b.nmStaff,count(*) as transaksi
FROM trAsuransi as a
inner join msStaff as b on a.kdStaff = b.kdStaff
group by a.kdstaff,b.nmStaff
-----
--store procedure--
--1--
CREATE PROCEDURE PR_staffTr
(@kdstaff CHAR(5))
AS
select * from trAsuransi
WHERE kdstaff =@kdstaff
exec pr_staffTr 'S0007'
--2--
CREATE PROCEDURE PR_prospekTr
(@kdprospek CHAR(5))
AS
select a.kdprospek,tgltransaksi, NamaProspek,JenKel,Alamat,Kota,Telp,TglLahir,[status]
from trAsuransi as a
inner join msprospek as b on a.kdprospek = b.kdprospek
WHERE a.kdprospek =@kdprospek
exec PR_prospekTr'P0001'
create trigger tr_1 on trasuransi for insert as
declare @status char(1)
set @status = (select status from inserted)
if @status = 'y'
begin
declare @komisi money
set @komisi = (select komisi from msstaff where kdstaff = (select kdstaff from inserted))
declare @bulan int
set @bulan = (select count(bulan) from komisibulanan where kdstaff = (select kdstaff from inserted) and bulan = (select month(tgltransaksi) from inserted))
if @bulan > 0
begin
update komisibulanan set komisibulanan = komisibulanan + @komisi where kdstaff = (select kdstaff from inserted)
print 'Komisi Bulanan terupdate'
end
else
begin
declare @bln int, @kdstaff char(5)
set @bln = (select month(tgltransaksi) from inserted)
set @kdstaff = (select kdstaff from inserted)
insert into komisibulanan values (@bln,@kdstaff,@komisi,'T')
print 'Komisi Bulanan terinsert'
end
end
-- test case tr_1
select * from komisibulanan
insert into TrAsuransi values('2004-01-02','T0009','P0001','S0001','Y')
insert into TrAsuransi values('2004-01-02','T0010','P0001','S0002','Y')
select * from komisibulanan
-- end of test case tr_1
create trigger tr_2 on msprospek for update as
declare @kdprospek_lama char(5), @kdprospek_baru char(5)
set @kdprospek_lama = (select kdprospek from deleted)
set @kdprospek_baru = (select kdprospek from inserted)
if @kdprospek_lama <> @kdprospek_baru
begin
rollback tran
print 'Kode Prospek tidak boleh diubah!!!'
end
-- test case tr_2
insert msprospek values ('p0010','dummy','x','dummy','dummy','dummy','1900-01-01')
select * from msprospek
update msprospek set kdprospek = 'xxx' where kdprospek = 'p0010'
-- end of test case tr_2
create trigger tr_3 on msprospek for delete as
declare @kdprospek char(5), @status char(1)
set @kdprospek = (select kdprospek from deleted)
set @status = (select status from trasuransi where kdprospek = @kdprospek)
if @status = 'T'
begin
rollback tran
print 'Data prospek tidak boleh dihapus!'
end
else
begin
delete from trasuransi where kdprospek = @kdprospek
end
-- test case tr_3
select * from trasuransi
delete from msprospek where kdprospek = 'p0001'
-- end of test case tr_3
Senin, 23 November 2009
Masalah NULL dan Fungsi ISNULL() pada Ms SQL Server
Fungsi IsNull() berguna untuk memeriksa suatu kolom ada datanya atau tidak. dan jika tidak ada datanya atau NULL, maka diberi data pengganti.
Perhatikan query-query di bawah ini :
Hasil AVG(price) didapat dari perhitungan 6300 dibagi 4. Sedangkan hasil AVG(ISNULL(price,0)) didapat dari 6300 / 5. Pembagi AVG(price) adalah 4 karena NULL tidak diikutsertakan. Hasil mana yang benar tergantung dari konteksnya.
Dari ilustrasi di atas, NULL berpotensi dapat menyebabkan perbedaan penghitungan. NULL juga dapat menyebabkan program aplikasi yang mengakses tabel tersebut akan mendapatkan error (Baca Mengatasi Kolom yang Tidak Memiliki Data (NULL) pada VB.Net). Dalam hal ini fungsi ISNULL() menjadi fungsi yang sangat berguna untuk menghindari kesalahan.
Antisipasi agar pada tabel bebas dari NULL adalah membuat kolom menjadi NOT NULL pada saat tabel dibuat atau menggunakan constraint DEFAULT. Tapi kadang juga NULL tidak dapat dihindari :)
tbl_coba
Nama Harga
------ ------
A 12000
B NULL
C 21000
D 20000
E 10000
Perhatikan query-query di bawah ini :
SELECT AVG(harga) FROM tbl_coba
SELECT AVG(ISNULL(harga, 0)) FROM tbl_coba
Hasil AVG(price) didapat dari perhitungan 6300 dibagi 4. Sedangkan hasil AVG(ISNULL(price,0)) didapat dari 6300 / 5. Pembagi AVG(price) adalah 4 karena NULL tidak diikutsertakan. Hasil mana yang benar tergantung dari konteksnya.
Dari ilustrasi di atas, NULL berpotensi dapat menyebabkan perbedaan penghitungan. NULL juga dapat menyebabkan program aplikasi yang mengakses tabel tersebut akan mendapatkan error (Baca Mengatasi Kolom yang Tidak Memiliki Data (NULL) pada VB.Net). Dalam hal ini fungsi ISNULL() menjadi fungsi yang sangat berguna untuk menghindari kesalahan.
Antisipasi agar pada tabel bebas dari NULL adalah membuat kolom menjadi NOT NULL pada saat tabel dibuat atau menggunakan constraint DEFAULT. Tapi kadang juga NULL tidak dapat dihindari :)
Langganan:
Postingan (Atom)




