.:: Jasa Membuat Aplikasi Website,Desktop,Android Order Now..!! | | Order Now..!! Jasa Membuat Project Arduino,Robotic,Print 3D ::.

SELECT DISTINCT solusi hilangkan duplikasi

0 komentar


بِسْــــــــــــــــمِ اﷲِالرَّحْمَنِ اارَّحِيم
bismillaahirrahmaanirrahiim

السَّلاَمُ عَلَيْكُمْ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ
Assalamu'alaikum warahmatullahi wabarakatuh

Beberapa hari yang lalu seperti biasa iseng-iseng browsing untuk pengantar tidur, coba mengunjungi alexa.com dan saya ingin melihat perkembangan blog saya, nah saya dapati di keywords ada tulisan "menghilangkan duplikat pada listbox", pasti anak kuliahan ni he3... nggak pernah di ajarin sama dosennya ya?

Pada artikel ini saya bahas menghilangkan duplikasi pada listbox dengan menggunakan if dan looping atau dengan cara lain yaitu menggunakan SELECT DISTINCT

Sebagai contoh saya pakai data di bawah ini :




Hilangkan Duplikasi dengan Fungsi IF dan LOOPING
Sebenarnya secara logika menghilangkan duplikasi pada listbox dan yang semacamnya dapat dilakukan dengan fungsi IF, apabila nilai tertentu sudah pernah di add ke listbox, maka nilai tersebut tidak di add lagi ke listbox.Code programnya menggunakan dua buah fungsi looping (perulangan), lebih tepatnya looping di dalam looping.



looping pertama adalah untuk membaca data (dari database) yang akan di add ke listBox. Didalamnya terdapat looping lagi, yaitu looping untuk membaca list/data pada ListBox yang nantinya digunakan untuk menyamakan dengan data yang dibaca dari database, apabila ternyata antara nilai tertentu dari database sama dengan (=) list/text yang ada pada ListBox maka nilai tertentu tersebut tidak di add lagi ke listBox . Berarti untuk setiap data/record dari database yang dibaca harus melakukan perulangan sebanyak list yang terdapat dalam sebuah ListBox.

Code untuk logika diatas adalah sebagi berikut :
Sub addlistif()
On Error Resume Next      
    Data1.DatabaseName = App.Path & "\db1.mdb"                          'koneksi ke database
    Data1.RecordsetType = 1
    Data1.RecordSource = "select * from table1"    ' Membuka tabel1 dari sebuah database
    Data1.Refresh
    With List1
        .Clear                                                                                     'mengosongkan listBox
        Data1.Recordset.MoveFirst
        Do Until Data1.Recordset.EOF   ' permulaan perulangan membaca data dari database
            n = 0
                If Not List1.ListCount = 0 Then
                List1.ListIndex = -1
                    For i = 0 To List1.ListCount - 1          ' perulangan membaca data dari listBox
                       List1.ListIndex = List1.ListIndex + 1
                       If Data1.Recordset("nama") = List1.Text Then                      'jika data sama
                            n = 1
                            Exit For
                       End If
                    Next i
                Else                                                               'jika listbox dalam kondisi kosong
                    n = 0
                End If
            If n = 0 Then .AddItem Data1.Recordset("nama")
            Data1.Recordset.MoveNext
        Loop
    End With
End Sub

Untuk data yang sedikit tidaklah menjadi suatu masalah jika menggunakan code diatas untuk menghilangkan duplikasi pada saat mengisi listBox, tetapi apabila data yang ada sudah ribuan akan sangat lama untuk mengisi listBox tersebut, karena untuk setiap record harus dilakukan perulangan sebanyak data yang sudah dimasukkan ke dalam listbox.


Hilangkan Duplikasi Dengan SELECT DISTINCT
Apakah SELECT DISTINCT itu? apabila diterjemahkan distinct itu berarti "berbeda", dapat kita pahami bahwa select distinct adalah menampilkan record-record dari sebuah tabel yang memiliki nilai berbeda untuk field tertentu. Dalam sebuah literatur disebutkan bahwa :
The SELECT keyword allows us to grab all information from a column (or columns) on a table. This, of course, necessarily mean that there will be redundancies. What if we only want to select each DISTINCT element? This is easy to accomplish in SQL. All we need to do is to add DISTINCT after SELECT. http://www.1keydata.com/sql/sqldistinct.html
Untuk aturan penulisan syntaxnya adalah sebagai berikut :

"SELECT DISTINCT(nama_kolom) FROM nama_table"


 Sehingga codenya adalah sebagai berikut :
Sub addlistdistinct()
    Data1.DatabaseName = App.Path & "\db1.mdb"                          'koneksi ke database    Data1.RecordsetType = 1
    Data1.RecordSource = "SELECT DISTINCT(nama) FROM table1"    Data1.Refresh
    With List1
        .Clear
        Data1.Recordset.MoveFirst
        Do Until Data1.Recordset.EOF
            .AddItem Data1.Recordset("nama")
            Data1.Recordset.MoveNext
        Loop
    End With
End Sub

Bagaimana?lebih simpel bukan?kita hanya perlu mengubah recordsource data dengan syntax SQL, syntax tersebut yang akan menyeleksi record mana yang berbeda untuk ditampilkan sehingga looping hanya dilakukan sebanyak record yang telah diseleksi sebelumnya. Dibandingkan dengan menggunakan fungsi if seperti diatas jelas syntax SQL DISTINCT ini jauh lebih cepat. Hayo pilih yang mana?

Update Contact :
No Wa/Telepon (puat) : 085267792168
No Wa/Telepon (fajar) : 085369237896
Email : Fajarudinsidik@gmail.com
NB :: Bila Sobat tertarik Ingin membuat software, membeli software, membeli source code, membeli hardware elektronika untuk kepentingan Perusahaan maupun Tugas Akhir (TA/SKRIPSI), Insyaallah Saya siap membantu, untuk Respon Cepat dapat menghubungi kami, melalui :

No Wa/Telepon (puat) : 085267792168
No Wa/Telepon (fajar) : 085369237896
Email: Fajarudinsidik@gmail.com


atau Kirimkan Private messanger melalui email dengan klik tombol order dibawah ini :

ٱلْحَمْدُ لِلَّهِ رَبِّ ٱلْعَٰلَمِين
Alhamdulilah hirobil alamin

وَ السَّلاَمُ عَلَيْكُمْ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ
wassalamualaikum warahmatullahi wabarakatuh


Artikel SELECT DISTINCT solusi hilangkan duplikasi, Diterbitkan oleh scodeaplikasi pada Jumat, 27 November 2009. Semoga artikel ini dapat menambah wawasan Anda. Website ini dipost dari beberapa sumber, bisa cek disini sumber, Sobat diperbolehkan mengcopy paste / menyebar luaskan artikel ini, karena segala yang dipost di public adalah milik public. Bila Sobat tertarik Ingin membuat software, membeli software, membeli source code ,Dengan Cara menghubungi saya Ke Email: Fajarudinsidik@gmail.com, atau No Hp/WA : (fajar) : 085369237896, (puat) : 085267792168.

Tawk.to