Tidak terasa sudah satu tahun saya bertugas di Tulungagung. Mengerjakan implementasi proyek yang tak kunjung selesai yang awalnya ditarget oleh kantor 2 bulan sudah harus beres :D. Ada beberapa hal yang membuat saya betah berada disini.
20 November 2016
30 July 2016
Fill Data To a Different Table Database
Sometimes we have to be able to fill the data in a different database tables. For example, the data in the table in the database that is now being used accidentally deleted, this is one of the terrible things that could happen to a programmer, to overcome it we can use the database backup to restore the data, although not all data can be restored , but a minimum of 90% or 95% of the data can be restored if we have a database backup, but otherwise it would be difficult to overcome, or even can not be at all: D.
To fill the data in different tables database in Sql Server 2008, code is essentially as follows:
Insert Into [database name]. [Dbo]. [Table Name]
Select * From [database name]. [Dbo]. [ The table name]
Example:
Insert Into RunningDatabase.dbo.Patient
Select * From BackupDatabase.dbo.Patient
To fill the data in different tables database in Sql Server 2008, code is essentially as follows:
Insert Into [database name]. [Dbo]. [Table Name]
Select * From [database name]. [Dbo]. [ The table name]
Example:
Insert Into RunningDatabase.dbo.Patient
Select * From BackupDatabase.dbo.Patient
29 July 2016
How To Execute a Stored Procedure in Sql Server 2008
Sometimes there are moments when we have to reexecute a Stored Procedure in SQL Server, for example due to an error on the line before the Stored Procedure executed that causes the data that should be inserted through the Stored Procedure be entered. Let's say this happened in the case which led to the registration module registration fails. One way to do this is by executing back Stored Procedure that have not been executed, but of course before must be identified first Stored Procedures are not being executed. The easiest way to execute a Stored Procedure is to use strored Execute feature in SQL Server Management Studio.
1. Right-click in the Object Explorer, select Execute Stored Procedure
2. Fill in the value for each parameter.
3. Click OK, SQL Server Management stuido will immediately generate the code to execute Stored Procedures complete with pre-loaded parameter value already filled out before us and the code will be directly executed
1. Right-click in the Object Explorer, select Execute Stored Procedure
3. Click OK, SQL Server Management stuido will immediately generate the code to execute Stored Procedures complete with pre-loaded parameter value already filled out before us and the code will be directly executed
23 July 2016
Implementasi SIMRS di RSUD Tulungagung
Assalamualaikum
Pada postingan kali ini penulis ingin berbagi foto-foto ketika penulis melakukan implementasi SIMRS modul Pendaftaran Rawat Jalan plus Bridging BPJS di RSUD Tulungagung pada hari kedua. Berikut foto-fotonya.
Pada postingan kali ini penulis ingin berbagi foto-foto ketika penulis melakukan implementasi SIMRS modul Pendaftaran Rawat Jalan plus Bridging BPJS di RSUD Tulungagung pada hari kedua. Berikut foto-fotonya.
SQL Server 2008 Membuat Query Update Menggunakan Query Designer
SQL Server 2008 memiliki fitur Query Designer, fitur ini digunakan untuk membuat query secara visual. Dengan menggunakan fitur ini pembuatan sebuah query akan lebih mudah dan lebih cepat. Pada tulisan kali ini penulis akan memberikan contoh bagaimana membuat sebuah query update menggunakan Query Designer. Query yang akan penulis buat adalah query untuk melakukan update pada sebuah tabel yang mana value updatenya diambil dari tabel lain. Pada contoh ini tabel yang akan diupdate adalah tabel Pasien dan value updatenya diambil dari tabel tbPasien. Field yang akan diupdate pada tabel Pasien adalah NoIdentitas dan Field sumber value dari tabel tbPasien adalah cNoKTPSIM. Berikut langkah-langkahnya.
1. Klik kanan pada query editor, pilih Query Designer.
2. Pada window Add Table, pilih tabel yang akan diupdate dan tabel yang menjadi sumber valuenya
4. Pada window update table pilih tabel yang akan diupdate valuenya
5. Kemudian centang field NoIdentitas pada tabel Pasien, kemudian ketik pada kolom New Value dengan cNoKTPSIM
6. Klik OK. Setelah itu akan muncul query update di query editor
1. Klik kanan pada query editor, pilih Query Designer.
2. Pada window Add Table, pilih tabel yang akan diupdate dan tabel yang menjadi sumber valuenya
3. Hubungkan primary key kedua tabel tersebut, kemudian klik kanan pada area yang kosong, kemudian pilih Change Type->Update
4. Pada window update table pilih tabel yang akan diupdate valuenya
5. Kemudian centang field NoIdentitas pada tabel Pasien, kemudian ketik pada kolom New Value dengan cNoKTPSIM
6. Klik OK. Setelah itu akan muncul query update di query editor
10 June 2016
Kenapa saya sangat suka komputer?
Saya tidak begitu yakin kenapa saya sangat suka komputer. Tapi sejak kecil saya sudah tertarik dengan hal-hal yang berbau teknologi, apalagi dengan komputer. Setiap kali ada iklan mengenai komputer, setiap menonton film yang berbau teknologi terutama yanga ada hubungannya dengan komputer saya merasa sangat tertarik. Ada perasaan yang berbeda ketika saya melihat komputer. Sepertinya saya sudah jatuh cinta dengan komputer sejak kecil. Tapi saya tidak tahu alasannya kenapa saya bisa suka dengan komputer.
Ketika kelas 6 saya diminta ayah saya untuk kursus bahasa inggris. Saya sempat menolak karena saya inginnya kursus komputer. Tapi orangtua saya berhasil membujuk saya, kata mereka, "Komputer itu didalamnya pake bahasa inggris, kalau kamu ingin bisa komputer kamu harus bisa bahasa inggris dulu". Akhirnya saya mau untuk kursus bahasa inggris terlebih dahulu. Kebetulan di tempat kursus saya selain ada kursus bahasa inggris juga ada kursus komputer. Setiap kali istirahat saya selalu melihat di jendela menonton orang-orang yang kursus komputer, sambil membayangkan saya berada di posisi mereka, memegang benda yang sangat saya sukai, walaupun hanya menghayal tapi itu sangat menyenangkan. Setiap kali pulang kursus, saya selalu merengek minta dibelikan komputer ke Ibu saya, tapi pada waktu itu harga komputer masih mahal, dan ibu saya masih belum bisa membelikannya.
Menjelang lulus SMP saya sempat bingung apakah mau melanjutkan ke SMA atau SMK. Kalau saya inginnya masuk SMK, agar belajarnya bisa fokus pada satu kemampuan, karena SMK memang ditujukan utnuk mendidik siswanya agar punya kemampuan khusus di bidang tertentu, tidak seperti SMA, yang walaupun sudah ada pembagian seperti Jurusan IPS, IPA, Bahasa dan lain-lain, tapi itu masih "Ngambang". Akhirnya Ayah saya memasukkan saya ke SMKN 4 Bandung, saat masuk SMK ini lah saya pertama kali dibelikan komputer oleh orangtua saya, walaupun komputer bekas, tapi saya sangat bahagia. Saya masuk jurusan Rekayasa Perangkat Lunak. Saya mulai tahu bahwa dunia komputer itu sangat luas. Di SMKN 4 ini lah saya mulai belajar yang namanya bahasa pemrograman untuk membuat program komputer. 4 tahun saya sekolah di SMKN 4 Bandung, tapi saya masih bingung kenapa saya bisa sangat suka dengan komputer.
Setelah lulus dari SMKN 4 Bandung, saya tidak langsung kuliah karena tidak punya biaya untuk kuliah. Saya menganggur dulu satu tahun, setelah itu saya masuk Universitas Bale Bandung(UNIBBA) jurusan Teknik Informatika, saya kuliah 4 tahun disini dan masih tetap belum menemukan jawaban kenapa saya suka dengan komputer. Setelah lulus dari SMKN 4 bandung, saya langsung melamar kerja, setelah melamar ke beberapa tempat akhinya saya diterima di Jasamedika Saranatama sebagai Programmer VB 6.0, ketika wawancara terakhir orang yg mewawancarai saya menanyakan kepada saya kenapa saya menyukai komputer, dan lagi-lagi saya tidak bisa menjawabnya.
Pada waktu hampir satu tahun bekerja di Jasamedika, saya menemukan semacam kesenangan ketika membuat sebuah program, lebih tepatnya saat melakukan debugging, rasanya seperti menjadi detektif, mencari siapa tersangka pembunuhan dan memecahkan kasus. Hal itu benar-benar menyenangkan karena saya juga selain suka komputer sangat suka dengan teka-teki dan memecahkan misteri, teka-teki dan misteri selalu membuat saya tertantang untuk memecahkannya. Setelah menyadari itu, ketika ditanya kenapa suka dengan komputer saya akan menjawab, karena dengan komputer saya bisa membuat program komputer, dan dalam proses membuat program tersebut, banyak sekali teka-teki dan misteri yang harus dipecahkan.
Ketika kelas 6 saya diminta ayah saya untuk kursus bahasa inggris. Saya sempat menolak karena saya inginnya kursus komputer. Tapi orangtua saya berhasil membujuk saya, kata mereka, "Komputer itu didalamnya pake bahasa inggris, kalau kamu ingin bisa komputer kamu harus bisa bahasa inggris dulu". Akhirnya saya mau untuk kursus bahasa inggris terlebih dahulu. Kebetulan di tempat kursus saya selain ada kursus bahasa inggris juga ada kursus komputer. Setiap kali istirahat saya selalu melihat di jendela menonton orang-orang yang kursus komputer, sambil membayangkan saya berada di posisi mereka, memegang benda yang sangat saya sukai, walaupun hanya menghayal tapi itu sangat menyenangkan. Setiap kali pulang kursus, saya selalu merengek minta dibelikan komputer ke Ibu saya, tapi pada waktu itu harga komputer masih mahal, dan ibu saya masih belum bisa membelikannya.
Menjelang lulus SMP saya sempat bingung apakah mau melanjutkan ke SMA atau SMK. Kalau saya inginnya masuk SMK, agar belajarnya bisa fokus pada satu kemampuan, karena SMK memang ditujukan utnuk mendidik siswanya agar punya kemampuan khusus di bidang tertentu, tidak seperti SMA, yang walaupun sudah ada pembagian seperti Jurusan IPS, IPA, Bahasa dan lain-lain, tapi itu masih "Ngambang". Akhirnya Ayah saya memasukkan saya ke SMKN 4 Bandung, saat masuk SMK ini lah saya pertama kali dibelikan komputer oleh orangtua saya, walaupun komputer bekas, tapi saya sangat bahagia. Saya masuk jurusan Rekayasa Perangkat Lunak. Saya mulai tahu bahwa dunia komputer itu sangat luas. Di SMKN 4 ini lah saya mulai belajar yang namanya bahasa pemrograman untuk membuat program komputer. 4 tahun saya sekolah di SMKN 4 Bandung, tapi saya masih bingung kenapa saya bisa sangat suka dengan komputer.
Setelah lulus dari SMKN 4 Bandung, saya tidak langsung kuliah karena tidak punya biaya untuk kuliah. Saya menganggur dulu satu tahun, setelah itu saya masuk Universitas Bale Bandung(UNIBBA) jurusan Teknik Informatika, saya kuliah 4 tahun disini dan masih tetap belum menemukan jawaban kenapa saya suka dengan komputer. Setelah lulus dari SMKN 4 bandung, saya langsung melamar kerja, setelah melamar ke beberapa tempat akhinya saya diterima di Jasamedika Saranatama sebagai Programmer VB 6.0, ketika wawancara terakhir orang yg mewawancarai saya menanyakan kepada saya kenapa saya menyukai komputer, dan lagi-lagi saya tidak bisa menjawabnya.
Pada waktu hampir satu tahun bekerja di Jasamedika, saya menemukan semacam kesenangan ketika membuat sebuah program, lebih tepatnya saat melakukan debugging, rasanya seperti menjadi detektif, mencari siapa tersangka pembunuhan dan memecahkan kasus. Hal itu benar-benar menyenangkan karena saya juga selain suka komputer sangat suka dengan teka-teki dan memecahkan misteri, teka-teki dan misteri selalu membuat saya tertantang untuk memecahkannya. Setelah menyadari itu, ketika ditanya kenapa suka dengan komputer saya akan menjawab, karena dengan komputer saya bisa membuat program komputer, dan dalam proses membuat program tersebut, banyak sekali teka-teki dan misteri yang harus dipecahkan.
08 June 2016
VB 6.0, Split
Split digunakan untuk memisahkan string berdasarkan tanda pemisah yang telah ditentukan. String-string yang dipisahkan,
masing-masing disimpan dalam suatu elemen array, banyaknya elemen array yang dihasilkan tergantung berapa banyak string yang dipisahkan.
Contoh penggunaan split
Dim arrTmp() As String
Dim i As Integer
Private Sub Command1_Click()
Label1.Caption = ""
arrTmp = Split(Text1.Text, ";") 'Tanda titik koma digunakan sebagai tanda untuk memisahkan string
For i = LBound(arrTmp) To UBound(arrTmp)
Label1.Caption = Label1.Caption & "" & arrTmp(i) & vbCrLf
Next i
End Sub
15 March 2016
Input di Cell Flexgrid
Dim baris, kolom As Integer 'Untuk menyimpan informasi baris dan kolom yang dipilih user
Dim i, j As Integer 'Untuk keperluan looping
Private Sub cbTes_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
'Isi kolom flexgrid sesuai isi teks combo yang dipilih
Call isiFlexGrid
'Combo dihide dulu
cbTes.Visible = False
'Jika baris dan kolom yang dipilih adalah baris dan kolom yang terakhir
If flexTes.Row = flexTes.Rows - 1 And flexTes.Col = flexTes.Cols - 1 Then
'Cek, apakah ada kolom yang belum terisi
For i = 1 To flexTes.Col
If flexTes.TextMatrix(flexTes.Row, i) = "" Then Exit Sub 'Jika ada kolom yang belum terisi, maka jangan buat baris baru
Next i
'Buat baris baru
flexTes.Rows = flexTes.Rows + 1
'Pindah fokus ke baris yang baru
flexTes.Row = flexTes.Row + 1
'Pindah fokus ke kolom pada baris yang baru
flexTes.Col = 1
'Fungsi untuk seolah-olah tombol panah bawah keyboard ditekan
'Ini berguna ketika baris flexgrid sudah mencapai batas bawah flexgrid, maka baris paling atas seolah-olah akan dihide
'sehingga posisi baris yang baru akan dinaikkan agar lebih kelihatan
SendKeys "{DOWN}"
'Jika kolom yang dipilih adalah kolom yang terakhir tetapi barisnya bukan baris terakhir(baris-baris sebelum baris yang terakhir)
ElseIf flexTes.Col = flexTes.Cols - 1 And flexTes.Row < flexTes.Rows - 1 Then
'Pindah ke baris berikutnya(tidak membuat baris baru, tetapi pindah ke baris berikutnya)
flexTes.Row = flexTes.Row + 1
'Pindah ke kolom berikutnya
flexTes.Col = 1
Else
'Pindah ke kolom berikutnya
flexTes.Col = flexTes.Col + 1
End If
End If
End Sub
Private Sub flexTes_KeyDown(KeyCode As Integer, Shift As Integer)
'Jika ditekan tombol ennter
If KeyCode = 13 Then
'Tampilkan combobox
Call tampilCombo
'Jika ditekan tombol delete
ElseIf KeyCode = vbKeyDelete Then
'Tidak boleh melakukan hapus pada baris yang merupakan satu-satunya baris yang tersisa
If flexTes.Rows = 2 Then Exit Sub
'Hapus baris yang dipilih
flexTes.RemoveItem flexTes.Row
End If
End Sub
Private Sub Form_Load()
'Default combobox dihide dulu
cbTes.Visible = False
'Tambahkan item(daftar isi) combobox
cbTes.AddItem "Item 1"
cbTes.AddItem "Item 2"
'Setting flexgrid
Call setGrid
End Sub
Private Sub tampilCombo()
cbTes.Visible = True
'Inisialisasi default koordinat kiri dan atas combo
cbTes.Left = flexTes.Left 'Koordinat kiri combo disamakan dengan koordinat kiri flexgrid
cbTes.Top = flexTes.Top 'Koordinat atas combo disamakan dengan koordinat atas flexgrid
'Looping untuk menentukan koordinat kiri combo
'Jika kita memilih kolom ke 3, maka looping akan dilakukan mulai dari kolom ke 0 sampai kolom ke 2
For i = 0 To flexTes.Col - 1
cbTes.Left = cbTes.Left + flexTes.ColWidth(i) 'Pada setiap looping koordinat kiri combo akan ditambah dengan lebar cell
Next i
'Looping untuk menentukan koordinat atas combo
'Jika kita memilih baris ke 3, maka looping akan dilakukan mulai dari baris ke 0 sampai baris ke 2
For j = 0 To flexTes.Row - 1
cbTes.Top = cbTes.Top + flexTes.RowHeight(j) 'Pada setiap looping koordinat atas combo akan ditambah dengan tinggi cell
Next j
'***Setelah melakukan kedua looping diatas, combo akan berada pada koordinat atas dan kiri kolom yang dipilih***
'Jika baris paling atas yang nampak di grid merupakan baris yang lebih dari baris ke 1, koordinat top dari cbTes dikurangi akumulasi lebar baris-baris
'sebelum baris paling atas yang nampak di grid
If flexTes.TopRow > 1 Then
cbTes.Top = cbTes.Top - ((flexTes.TopRow - 1) * flexTes.RowHeight(1))
End If
'Munculkan combo yang sebelumnya dihide
cbTes.Visible = True
'Sesuaikan lebar combo dengan lebar cell yang dipilih
cbTes.Width = flexTes.ColWidth(flexTes.Col)
'Fokus ke combo
cbTes.SetFocus
End Sub
Private Sub setGrid()
'Setting baris dan kolom flexgrid
flexTes.Rows = 2 '2 baris
flexTes.Cols = 4 '4 kolom
'Lebar untuk kolom 0 langsung dipatok 500
'Kolom 0 akan diisi nomor baris
flexTes.ColWidth(0) = 500
'Teks akan ditaruh ditengan-tengah kolom
flexTes.ColAlignment(0) = flexAlignCenterCenter
'Judul baris ke 0 pada kolom ke 1,2 dan 3
flexTes.TextMatrix(0, 1) = "Kolom 1"
flexTes.TextMatrix(0, 2) = "Kolom 2"
flexTes.TextMatrix(0, 3) = "Kolom 3"
'Inisialisasi awal lebar flexgrid
flexTes.Width = 0
'Looping untuk menentukan lebar flexgrid agar sesuai dengan lebar seluruh cell
For i = 0 To flexTes.Cols - 1
flexTes.Width = flexTes.Width + flexTes.ColWidth(i)
Next i
'Menambah lebar flexgrid agar ada celah sedikit pada ujung sebelah kanannya
flexTes.Width = flexTes.Width + 100
End Sub
Private Sub isiFlexGrid()
'Informasi baris yang dipilih user disimpan di variabel baris
baris = flexTes.Row
'Informasi kolom yang dipilih user disimpan di variabel kolom
kolom = flexTes.Col
'Beri nomor Pada setiap baris pada kolom ke 0
flexTes.TextMatrix(baris, 0) = flexTes.Row
'Pada baris dan kolom yang dipilih user, setelah user melakukan enter, akan diisi dengan teks dari combo
flexTes.TextMatrix(baris, kolom) = cbTes.Text
End Sub
15 February 2016
VB 6.0, Implementasi Algoritma Buble Sort
Berikut adalah implementasi Algoritma Buble Sort menggunakan VB 6.0
Dim arrAngka() As Integer Dim bolAdaPerubahan As Boolean Dim strTmp As String Dim i, j As Integer Private Sub cmdOK_Click() ReDim Preserve arrAngka(Len(Trim(txt1.Text)) - 1) 'Masukan data ke array For i = 0 To Len(Trim(txt1.Text)) - 1 arrAngka(i) = Mid(txt1.Text, i + 1, 1) Next i bolAdaPerubahan = True 'Lakukan pembandingan selama masih ada perubahan Do While bolAdaPerubahan = True x: i = 0 bolAdaPerubahan = False 'Bandingan data dengan data di sebelahnya For i = 0 To UBound(arrAngka()) 'Jika masih ada perubahan dan pembandingan sudah dilakukan sampai ke data terakhir 'Maka ulangi pembandingan dari data pada deretan paling awal If bolAdaPerubahan = True And i = UBound(arrAngka()) Then GoTo x: 'Jika sudah tidak ada perubahan dan pembandingan sudah dilakukan sampai ke data terakhir 'Maka hentikan pembandingan, artinya data sudah terurut dari kecil ke besar If bolAdaPerubahan = False And i = UBound(arrAngka()) Then Exit For: 'Apakah angka di sebelahnya lebih kecil? If arrAngka(i + 1) < arrAngka(i) Then 'Jika ya bolAdaPerubahan = False 'Tukar posisi strTmp = arrAngka(i) arrAngka(i) = arrAngka(i + 1) arrAngka(i + 1) = strTmp bolAdaPerubahan = True End If Next i Loop txt2.Text = "" 'Masukan ke teks hasil For i = 0 To UBound(arrAngka) txt2.Text = txt2.Text + CStr(arrAngka(i)) Next i End Sub
SQL Server 2008, Nested Case
Berikut contoh penggunan Case di dalam Case atau Nested Case di Sql Server 2008
SELECT
col1,
col2,
col3,
CASE WHEN condition THEN
CASE WHEN condition1 THEN
CASE WHEN condition2 THEN calculation1
ELSE calculation2 END
ELSE
CASE WHEN condition2 THEN calculation3
ELSE calculation4 END
END
ELSE CASE WHEN condition1 THEN
CASE WHEN condition2 THEN calculation5
ELSE calculation6 END
ELSE CASE WHEN condition2 THEN calculation7
ELSE calculation8 END
END AS 'calculatedcol1',
col4,
col5 -- etc
FROM table
14 February 2016
SQL Server 2008, ROW_NUMBER()
ROW_NUMBER() digunakan untuk membuat nomor yang berurutan pada suatu result set, berikut contoh penggunaan ROW_NUMBER()
select top 10 ROW_NUMBER() over(order by NoPendaftaran) as No, NoPendaftaran from detailBiayaPelayanan --Menggunakan partition, agar nomornya direset ke 1 ketika beda NoPendaftaran select top 10 ROW_NUMBER() over(partition by nopendaftaran order by NoPendaftaran) as No,NoPendaftaran from detailBiayaPelayanan
SQL Server 2008, Convert
Fungsi convert mirip dengan fungsi cast, yaitu untuk merubah tipe data dari suatu data atau variabel, tetapi fungsi convert mempunya tambahan parameter style untuk merubah format data, misalkan untuk merubah format tanggal, berikut contoh penggunaan convert.
declare @a float declare @b varchar(20) declare @c varchar(20) set @a=1.5 set @b=1 set @c=2 select CONVERT(Int,@a) --Konversi dari float ke int akan ditruncate select @b+@c --Menghasilkan 12 select CONVERT(int,@b)+CONVERT(int,@c) --Menghasilkan 3 select CONVERT(datetime,'2016-02-19',101) --Menghasilkan 2016-02-19 00:00:00.000
SQL Server 2008, Cast
Cast digunakan untuk merubah tipe data suatu data atau variabel, contoh penggunaanya adalah sebagai berikut.
declare @a varchar(10) declare @b varchar(10) declare @c varchar(10) set @a=1 set @b=2 set @c =@a+@b print @c --Hasilnya 12 set @c=CAST(@a as int)+CAST(@b as int) print @c --Hasilnya 3
13 February 2016
SQL Server 2008, Isnull dan Coalesce
declare @a varchar(25)
declare @b varchar(25)
declare @c varchar(25)
declare @d varchar(4)
set @a=Null
set @b =Null
set @c='Variabel @c ada isinya'
set @d=null
--Isnull
--Mereplace nilai yang Null menggunakan nilai yang dispesifikasikan
--Tipe data dari ekspresi ditentukan oleh tipe data input pertama
select ISNULL(@a,'Variabel @a Kosong') as [Tes Isnull]
--Jika inputan yang pertama adalah literal null tak bertipe, maka tipe data ekspresi ditentukan oleh input yang kedua
select ISNULL(Null,'Variabel @a Kosong') as [Tes Isnull]
--Jika kedua inputan adalah literal tak bertipe maka tipe data ekspresinya adalah Int
select ISNULL(null,null)
--Akan menampilkan kata 'Saya', karena kepotong, ngikutnya ke tipe dan panjang data input pertama
select ISNULL(@d,'Saya ganteng')
--Coalse
--Mirip dengan Isnull, tapi bisa banyak input
--Tipe data hasil ekspresi ditentukan oleh tipe data input argumen dengan precedence paling tinggi
select coalesce(@a,'Variabel @a Kosong')
select coalesce(@a,@b,'Variabel @a kosong')
select coalesce(@a,@b,@c)
--Error, ini terjadi karena semua inputnya adalah literal null tak bertipe
select coalesce(null,null)
--Tidak akan error karena literal nullnya dicast dulu ke int
select coalesce(cast(null as int),null)
--Akan error, karena tipe data ekspresi ditentukan oleh tipe data yang kedua yg merupakan tipe data int
--Sql mencoba mngkonversi 'abc' ke int
select coalesce('abc',1)
SQL Server 2008, Union dan Union All
Contoh penggunaan Union dan Union All
select nocm,namalengkap,namapanggilan from Pasien where NoCM ='11500418' select NoCM,NamaLengkap from Pasien where NoCM='11500418' union all select NoCM,NamaPanggilan from Pasien where NoCM='11500418' select NoCM,NamaLengkap from Pasien where NoCM='11500418' union select NoCM,NamaPanggilan from Pasien where NoCM='11500418'
12 February 2016
VB 6, Pengurutan Angka
Dim arrAngka() As Integer
Dim intAngkaTerkecil As Integer
Dim tmpAngka As Integer
Dim i, j As Integer 'Untuk counting
Private Sub cmdUrut_Click()
ReDim Preserve arrAngka(Len(Trim(txtUrut.Text)))
'Masukan seluruh angka ke array
For i = 0 To Len(Trim(txtUrut.Text)) - 1
arrAngka(i) = Mid(Trim(txtUrut.Text), i + 1, 1)
Next i
For i = 0 To UBound(arrAngka) - 1
'Ambil angka satu2, masukan ke variabel sebagai kandidat angka terkecil
intAngkaTerkecil = arrAngka(i)
'Angka yang dijadikan kandidat terkecil dibandingkan dengan deretan angka2 berikutnya
For j = i + 1 To UBound(arrAngka) - 1
'Apakah angka di array lebih kecil dari kandidat angka terkecil?
If arrAngka(j) < intAngkaTerkecil Then
'Ubah kandidat angka terkecil dengan angka di array
intAngkaTerkecil = arrAngka(j)
'Tukarkan posisinya
tmpAngka = arrAngka(i)
arrAngka(i) = intAngkaTerkecil
arrAngka(j) = tmpAngka
End If
Next j
Next i
txtUrut.Text = ""
'Ubah text box dengan deretan angka yang sudah di urut
For i = 0 To UBound(arrAngka) - 1
txtUrut.Text = txtUrut.Text + CStr(arrAngka(i))
Next i
End Sub
11 February 2016
Tabel Variabel Di Sql Server 2008
declare @tbTes table(
id int,
nama varchar(50)
)
insert into @tbTes values(1,'Mamang')
select * from @tbTes
Tabel Temporari di Sql Server 2008
Gunakan # untuk membuat tabel temporari lokal, tabel temporari lokal hanya bisa diakses pada satu session
Gunakan ## untuk membuat tabel temporari global, tabel temporari global bisa diakses pada semua session yang aktif
create table #TmpTes
(
id int,
nama varchar(50)
)
insert into #TmpTes values(1,'Udin')
select * from #TmpTes
Derived Table di Sql Server 2008
select jmlKarakter from
(
select len(namalengkap) jmlKarakter from Pasien
)tbPasien
Contoh Penggunaan Where, Group By dan Having Secara Bersamaan
Select field,COUNT(field) from table where field='' group by field having count(field)>1
Contoh Penggunaan Perintah Having di Sql Server 2008
Having digunakan untuk memfilter data yang kolomnya berasal dari hasil fungsi agregat
Select Top 10 field,COUNT(field) From table Group By field Having Count(field)>1 and field=[filter]
Contoh Subquery di Sql Server 2008
--Subquery
select top 10 field1,field2 (Select field from table2 where field=table1.field ) alias from table1
08 February 2016
SQL Server 2008, Cursor
Contoh penggunaan cursor di Sql Server 2008
--Deklarasi variabel declare @nama as varchar(50) declare @alamat as varchar(50) --Deklarasi cursor declare myCursor cursor for --Isi cursor dengan value dari queri berikut select top 10 namalengkap, alamat from pasien where alamat is not null and alamat<>'' ------------------------------------------------------------------------------------- open myCursor --Buka cursor fetch next from myCursor into @nama,@alamat --Masukan value dari baris pertama ke variabel --Selama @@FETCH_STATUS bernilai 0 lakukan looping --@@FETCH_STATUS akan bernilai 1 jika data yang ada di cursor sudah habis while @@FETCH_STATUS=0 begin print @nama + ' ' +@alamat --Cetak variabel fetch next from myCursor into @nama,@alamat --Masukan data berikutya ke variabel end
07 February 2016
Tips Mendapatkan Wanita Impian Kita
Berdasarkan fakta-fakta yang saya lihat di kehidupan jaman sekarang, saya punya 2 tips untuk mendapatkan wanita impian kita, yaitu :
Tingkat kemudahan untuk mendapatkan wanita impian kita, tergantung dari
1. Seberapa banyak harta yang kita miliki
2. Seberapa tidak baiknya diri kita
Secara hati, saya pribadi tidak percaya teori tersebut, tetapi secara fakta sehari-hari hal itu justru sering terjadi. Saya sering melihat wanita yang menurut saya wanita tersebut adalah wanita yang termasuk kriteria wanita impian saya, pacarnya selalu :
1. Pria kaya raya
2. Pria yang menurut saya bukan pria baik-baik(Anggota geng, pake tato, suka minum miras, pake anting dll)
Untuk alasan no. 1 masih bisa saya mengerti, tapi untuk yang no. 2 saya jujur masih tidak mengerti kenapa pria seperti itu bisa jadi pilihan. Terkadang saya sering punya niat untuk menjadi seseorang yang tidak baik untuk mencoba teori saya, tapi rasanya tidak mungkin untuk dilakukan saat ini :)
Tingkat kemudahan untuk mendapatkan wanita impian kita, tergantung dari
1. Seberapa banyak harta yang kita miliki
2. Seberapa tidak baiknya diri kita
Secara hati, saya pribadi tidak percaya teori tersebut, tetapi secara fakta sehari-hari hal itu justru sering terjadi. Saya sering melihat wanita yang menurut saya wanita tersebut adalah wanita yang termasuk kriteria wanita impian saya, pacarnya selalu :
1. Pria kaya raya
2. Pria yang menurut saya bukan pria baik-baik(Anggota geng, pake tato, suka minum miras, pake anting dll)
Untuk alasan no. 1 masih bisa saya mengerti, tapi untuk yang no. 2 saya jujur masih tidak mengerti kenapa pria seperti itu bisa jadi pilihan. Terkadang saya sering punya niat untuk menjadi seseorang yang tidak baik untuk mencoba teori saya, tapi rasanya tidak mungkin untuk dilakukan saat ini :)
VB 6, Mengubah Posisi Objek Sesuai Koordinat Klik Mouse
Objek textbox akan berubah posisinya sesuai koordinat klik mouse pada form
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Text1.Top = Y
Text1.Left = X
End Sub
03 February 2016
VB 6, Notifikasi Menggunakan Winsock
Alur :
ketika user dari ruangan IGD melakukan klik simpan setelah mengisi data reservasi, notifikasi reservasi di loket pendaftaran akan muncul.
Kodingan di modul pendaftaran
'Cari setingan port dari seting global
'Potongan kode di event Form Load
'----------------------------------------------------------------------------------------------
strSQL5 = "Select Value From SettingGlobal Where prefix='PortNotifikasiReservasi'"
Call msubRecFO(rsE, strSQL5)
'Buka port
With Winsock1
.Close
.LocalPort = Trim(rsE(0))
.Listen
End With
'----------------------------------------------------------------------------------------------
Private Sub Winsock1_Close()
Winsock1.Close
Winsock1.Listen
End Sub
Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
On Error GoTo duaTambahDuaSamaDenganLima
Winsock1.Close
Winsock1.Accept requestID
Exit Sub
duaTambahDuaSamaDenganLima:
Call Winsock1.Close
End Sub
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
On Error GoTo duaTambahDuaSamaDenganLima
Dim data$
Winsock1.getData data$
Call PlaySound
If Left(data$, 3) = mstrKdRuanganLogin Then 'Hanya akan tampil di ruangan yang seharusnya menerima notifikasi
If MsgBox("Reservasi pasien " & data$ & ", Klik Yes untuk membuka Form Daftar Reservasi", vbYesNo + vbInformation) = vbYes Then
frmDaftarReservasiPasien.Show
End If
End If
duaTambahDuaSamaDenganLima:
End Sub
Kodingan di Modul Gawat Darurat
Fungsi yang ditempatkan di event Form Load
Private Function koneksiNotifikasi()
On Error GoTo duaTambahDuaSamaDenganLima
'Ambil setingan IP
strSQL6 = "Select Value From SettingGlobal Where prefix='IPUntukNotifikasi'"
Call msubRecFO(rsF, strSQL6)
'Ambil setingan port
strSQL7 = "Select Value From SettingGlobal Where Prefix='PortNotifikasiReservasi'"
Call msubRecFO(rsG, strSQL7)
jumlahTitikKoma = 0
ReDim tmpIP(0)
'Ekstrak IP
For X = 1 To Len(rsF(0))
If Mid(rsF(0), X, 1) = ";" Then
jumlahTitikKoma = jumlahTitikKoma + 1
If jumlahTitikKoma = 1 Then
tmpIP(0) = Left(rsF(0), X - 1)
Else
ReDim Preserve tmpIP(UBound(tmpIP) + 1)
tmpIP(UBound(tmpIP)) = Mid(rsF(0), posisiTitikKomaSebelumnya + 1, (X - 1) - posisiTitikKomaSebelumnya)
End If
posisiTitikKomaSebelumnya = X
End If
Next X
'Konekkan ke IP
For i = 0 To UBound(tmpIP)
If i <> 0 Then 'Index 0 jangan diload lagi, kan sudah ada
Load Winsock1(i)
End If
Winsock1(i).Close
Winsock1(i).Connect tmpIP(i), CInt(rsG(0))
Next i
Exit Function
duaTambahDuaSamaDenganLima:
End Function
'Potongan kode di tombol simpan, di form input data reservasi
'Tampilkan notifikasi di loket yang seharusnya
strSQL5 = "Select KdInstalasi From Ruangan Where KdRuangan='" & dcRuangan.BoundText & "'"
Call msubRecFO(rsE, strSQL5)
'Kirim pesan ke semua ip yang ada di setingan
For i = 0 To UBound(tmpIP)
If Winsock1(i).State = 7 Then
If rsE(0) = "03" Then 'Tampilkan notifikasi di loket yang seharusnya
Winsock1(i).SendData "193" & txtNamaPasien.Text
Else
Winsock1(i).SendData "195" & txtNamaPasien.Text
End If
End If
Next i
Kodingan di Event Form Unload
'Putuskan koneksi winsock
For i = 0 To UBound(tmpIP)
Winsock1(i).Close
Next i
02 February 2016
VB 6 Array, Redim dan Redim Preserve
Kodingan dasar array
Deklarasi array :
Dim mahasiswa() as StringMengetahui jumlah elemen array :
Ubound(mahasiswa)Mendefinisikan ulang jumlah elemen array sekaligus mengosongkan isi array :
Redim mahasiswa(8)Mendefinisikan ulang jumlah elemen array tanpa mengosongkan isi array jika array tersebut sudah ada isinya :
Redim preserve mahasiswa(8)
VB 6 Cek Null Value Datagrid
Kode sederhana tapi sering terlupakan :), kodingan untuk mengecek apakah nilai dari cell grid yang kita pilih bernilai Null atau tidak :)
IsNull(DataGrid1.Columns(6).CellValue(DataGrid1.Bookmark))
VB 6.0 Select baris datagrid lebih dari satu
Misalkan nama datagridnya dgDaftarPasienLab
Untuk melakukan select lebih dari 1 gunakan tombol Ctrl
Dim i As Integer
Dim intCount As Integer
intCount = dgDaftarPasienLab.SelBookmarks.Count - 1
ReDim ArrSelBK(intCount)
For i = 0 To intCount
ArrSelBK(i) = dgDaftarPasienLab.SelBookmarks(i)
dgDaftarPasienLab.Row = ArrSelBK(i) - 1
'Perintah'
Next i
Subscribe to:
Comments (Atom)
-
Berikut adalah cara yang saya tahu Untuk melihat strukur tabel pada SQL Server 2012 1. Cara pertama adalah dengan menggunakan SSMS (SQL Ser...
-
Pagi tanggal 27 November saya merasa sudah sangat putus asa, sudah hampir seminggu saya menunggu email dari PT. Jasamedika(jasmed) mengenai...
-
Bismillahhirrahmannirrahim Assalamualaikum teman-teman :), hari ini saya akan berbagi pengalaman saya ketika melamar kerja di PT. Jasamed...







