23 August 2019

Pengumuman

Sekarang saya sudah tidak aktif lagi di blog ini. Sekarang saya aktif menulis di blog baru saya di https://duadualima.com. Terima kasih.

24 June 2017

Tolong Berhentilah Melakukan Hal-hal Tidak Penting

Saya adalah orang yang sangat benci untuk melakukan hal-hal yang tidak penting, terutama jika saya yang menjadi sasaran hal-hal tidak penting itu. Kriteria hal tidak penting bagi saya bisa jadi hal yang biasa bagi orang kebanyakan. Pernahkah kalian menjadikan salah satu teman kalian yang pendiam menjadi bahan lelucon kalian ketika kumpul bersama? Pernahkah kalian disuruh memakai pakaian orang gila ketika mengikuti kegiatan sejenis Masa Orientasi Sekolah? Pernahkah kalian mengikuti kegiatan misalkan outbond yang diadakan kantor kalian terus didalam kegiatan itu ada permainannya dan kalau kalian kalah dalam permainan itu kalian akan mendapat hukuman berjoged di depan kelompok yang lain?. Apa kalian sudah mengerti maksud hal tidak penting versi saya?. Orang-orang yang mendukung hal tidak penting seperti itu adalah orang-orang yang tidak memikirkan bagaimana perasaan orang yang benci menjadi sasaran mereka. bagi orang yang mendukung, mereka punya banyak alasan yang seolah-olah kegiatan mereka adalah hal yang bermanfaat, tapi bagi orang yang menjadi sasaran dan benci hal itu, itu bisa menjadi hal yang sangat membuat dirinya tertekan.

Manusia dilahirkan dengan karakter masing-masing. Orang-orang yang mendukung hal tidak penting, baik itu sebagai subyek maupun sebagai obyek(banyak juga orang yang menjadi sasaran tidak penting tapi mereka senang-senang saja) mungkin hal ini cocok dengan karakter mereka, tapi bagi orang yang tidak mendukung, baik sebagai subyek maupun sebagai obyek ini tidak cocok dengan karakter mereka. kita tidak bisa memaksa orang yang tidak punya karakter sejenis dengan kita untuk menyukai apa yang karakter kita sukai.

11 June 2017

2 Tahun 6 Bulan 9 Hari

Hari ini tepat 2 tahun 6 bulan dan 9 hari Saya bekerja di Jasamedika Saranatama(Jasmed). Saya ingat, dulu ketika wawancara terakhir untuk bisa masuk ke jasmed Saya pernah mengungkapkan bahwa Saya di jasmed hanya akan 2 tahun saja, setelah ilmu Saya cukup saya akan memulai sendiri usaha Saya di bidang pembuatan perangkat lunak. Tapi sampai hari ini Saya merasa ilmu Saya masih belum cukup untuk bisa memulai usaha sendiri, banyak hal yang masih belum Saya fahami mengenai pembuatan perangkat lunak.

Dulu, ketika masuk jasmed Saya bertekad akan menyerap semua ilmu dari senior-senior Saya. Setelah pulang kerja Saya sering begadang sampai subuh untuk belajar memahami kode sumber aplikasi yang sedang Saya kerjakan, Saya cenderung tidak memikirkan hal lain selain meningkatkan kemampuan Saya. Saya tidak mau menyebut diri Saya gagal dalam hal meningkatkan kemampuan Saya, tapi semakin banyak hal yang Saya pelajari malah semakin banyak lagi hal baru yang Saya tidak fahami. Sehingga Saya merasa ilmu Saya tidak pernah cukup sampai saat ini.

Di jasmed Saya memprogram menggunakan bahasa pemrograman VB 6, Saya masih jauh untuk bisa disebut ahli dalam menggunakan bahasa ini, tapi 2 tahun 6 bulan dan 9 hari sudah lebih dari cukup untuk memahami bagaimana membuat perangkat lunak menggunakan bahasa ini. Akhir-akhir ini Saya cenderung bosan menggunakan bahasa ini. Saya  sudah jarang meningkatkan kemampuan Saya lagi, sehingga kemampuan Saya bisa disebut tidak ada peningkatan, Saya butuh sesuatu yang lain yang bisa membuat Saya senang sehingga Saya semangat lagi untuk meningkatkan kemampuan Saya.

Saya mulai memikirkan untuk berada di tempat yang lain, tempat dimana Saya bisa membuat perangkat lunak dengan bahasa yang berbeda sehingga bisa memotivasi Saya untuk meningkatkan kemampuan saya lagi.


20 November 2016

Satu Tahun Di Tulungagung

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.

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

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

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.








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


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.

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

Pengumuman