Pengenalan Pohon

Semester ini saya mendapatkan matakuliah baru dan kebetulan saya tidak pernah mendapatkan ilmunya ketika saya kuliah. Alhasil saya harus benar-benar menguasai sebelum saya mengajar dikelas. Matakuliahnya sangat menarik penuh dengan logika saya sangat suka tapi cukup kewalahan mencari materi. Ok mari kita mulai..

Pohon adalah struktur data yang secara bentuk menyerupai pohon. Hanya saja berbeda dengan dunia nyata pohon tumbuh ke atas tapi di struktur dari pohonnya tumbuh ke bawah. Pohon terdiri dari serangkaian simpul (node) yang saling terhubung. Sebuah pohon merepresentasikan sebuah hirarki atau tingkatan. Contoh pohon:

  1. Pohon Struktur Organisasi

mdp

2. Daftar isi sebuah bukudaspro

Banyak istilah-istilah umum yang perlu anda ketahui:

p1

Gambar 3. Contoh Pohon

  1. Induk (Parent)
    Node yang berada di atas node lain secara langsung. Contoh dari Gambar 3, 1 merupakan parent dari 2, 3 dan 4. Contoh lain 4 merupakan parent dari 7, 8 dan 9.
  2. Anak (Child)
    Node anak adalah node yang merupakan cabang langsung dari sebuah node. Contoh 2 adalah anak dari 1.
  3. Akar (root)
    Akar adalah node yang tidak memiliki induk atau node yang paling tinggi. Jika dilihat pada Gambar 3, maka rootnya adalah 1.
  4. Daun (leaf)
    Daun adalah node yang tidak memiliki anak. Seperti : 5, 6, 3, 7, 8, dan 9.
  5. Simpul dalam (internal node)
    Simpul dalam adalah simpul yang memiliki anak minimal 1. Seperti node 1, 2 dan 4.
  6. Simpul luar (external node)
    Simpul luar adalah simpul yang paling luar atau sama saja dengan daun. Seperti: 5, 6,3,7, 8 dan 9.
  7. Level
    Level adalah tingkatan yang ditinjau dari posisi akar. akar memiliki level 0. Untuk contoh pohon dapat dilihat pada Gambar 4.
  8. Tinggi (Height)
    Ketinggian adalah level tertinggi dari suatu pohon di tambah dengan 1. Maka ketinggian pohon pada Gambar 4 adalah 4 (level tertinggi+1).

    picture1

    Gambar 4. Contoh Pohon 2

  9. Derajat
    Derajat adalah jumlah anak maksimal yang boleh dimiliki oleh node. Dari Gambar 4 node T memiliki anak terbanyak yaitu 3. Maka derajat dari pohon tersebut adalah 3.

Binary Tree

Pohon biner adalah jenis pohon yang memiliki ke khasan, yaitu jumlah anak setiap simpul maksimal dibatasi dua buah saja.

1. Node

Pada dasarnya pohon biner sama saja dengan list hanya saja koneksinya lebih dari 1. Biasanya node  tree terdiri dari 2 bagian, data dan koneksi. Pada pohon biner terdapat koneksinya adalah koneksi kiri (anak kiri) dan koneksi kanan (anak kanan).

node

   Gambar 1. Representasi Node

  • Data adalah nilai yang disimpan didalam node dan biasanya tipe datanya adalah tipe data primitif.
  • Sedangkan L adalah koneksi yang menghubungkan dengan Node sebelah kiri.
  • dan R adalah koneksi yang menghubungkan dengan Node sebelah kanan.

Ada juga Node yang memiliki 3 koneksi, yaitu kanan, kiri dan parent.

Picture1

Gambar 2. Node dengan 3 koneksi

Parent adalah koneksi yang menghubungkan Node dengan Node orang tuanya. Sehingga anaknya bisa mengetahui data orang tuanya. Berbeda dengan Gambar 1, hanya orang tua yang mengenali anak tetapi tidak sebaliknya.

2. Pohon

Sebuah pohon harus memiliki akar atau root. Root dari sebuah pohon tidak boleh lepas karena root adalah pangkal dari sebuah pohon. Jika kita mengetahui pangkal sebuah pohon maka otomatis kita bisa menngunjungi semua node pada pohon tersebut.

Jenis-Jenis Binary Tree

  1. Full Binary Tree
    Pohon biner yang semua nodenya (kecuali leaf) pasti memiliki 2 anak dan tiap subtree memiliki tinggi pohon yang sama.
    Picture2
  2. Complete Binary Tree
    Pohon biner yang mirip dengan full binary tree tetapi tiap subtree memiliki selisih ketinggian minimal 1. Contoh tinggi pohon kiri 2 dan pohon kanan 1. maka selisihnya adalah 1. Jika selisih 1 maka pohon di bawah ini dapat diseput pohon complete.
    Picture3
  3. Skewed Binary Tree
    Pohon biner yang semua nodenya hanya memiliki 1 anak dan pohonnya condong. Misal condongnya ke kiri maka semua node hanya memiliki anak kiri semua begitu juga sebaliknya.
    Picture4

 

Metode Pengurutan Gelembung

Pengurutan adalah proses mengatur sekumpulan obyek menurut urutan atau susunan tertentu. Urutan obyek tersebut dapat menaik (ascending) atau menurun (descending). Data yang telah terurut memiliki beberapa keuntungan. Selain mempercepat pencarian dari data yang terurut dapat langsung diketahui nilai maksimum dan nilai minimum. Untuk data numerik menurun nilai minum adalah elemen terakhir, dan nilai maksimum adalah elemen pertama.

Asal penamaan “Bubble Sort” diinspirasikan oleh gelembung sabun yang berada di permukaan air. Bubble short adalah metode sorting yang mudah di pahami,bila dibandingkan dengan metode sorting yang lainnya. Bubble sort mengurutkan data dengan cara membandingkan elemen sekarang dengan elemen berikutnya. Pengurutan ini seolah-olah menggeser satu persatu elemen dari kanan ke kiri. Ketika satu proses telah selesai, maka bubble sort akan mengulangi proses, demikian seterusnya. Kapan berhentinya? Bubble sort berhenti jika seluruh array telah diperiksa dan tidak ada pertukaran lagi yang bisa dilakukan, serta tercapai perurutan yang telah diinginkan.

Proses Bubble Sort
Umumunya proses pengurutan Bubble adalah pengurutan dari kanan ke kiri dimana bilangan yang terkecil ada di sebelah kiri dan bilangan terbesar adalah bilangan yang paling kanan. Setiap tahapnya selalu dimulai dari index yang paling kanan dan dibandingkan dengan sebelahnya, apakah dia lebih kecil? Jika iya maka tukarkan, jika tidak cek bilangan yang sebelumnya. Proses-proses dari Bubble sort:

1) Mulai dari elemen K= N, N-1, N-2….sampai K=2, bandingkan L[K] dengan
L[K-1]. Jika L[K]<L[K-1], maka tukarkan L[K] dengan L[K-1].
2) Mulai dari elemen K = N,N-1,…3, bandingkan L[K] dengan L[K-1]. JikaL[K]<L[K-1], tukarkan L[K] dengan L[K-1].
3) Mulai dari elemen K=N,N-1,…4. Bandingakan L[K] dengan L[K-1].Jika L[K]<L[K-1], tukarkan L[K] dengan L[K-1]. Pada akhir langkah 3, elemen L[3] berisi harga minimum ketiga, larik L[1…3] terurut, sedangkan L[4…N] belum terurut.
……..
4) Dan yang terakhir: N-1. Mulai dari elemen K=N, bandingkan L[K] dengan L[K-1]. Jika L[K]<L[K-1], tukarkan L[K] dengan L[K-1].

Contoh proses pengurutan dengan Bubble Sort:

Misal kita mempunyai sebuah array dengan nama L, dengan nilai masing-masing elemen sebagai berikut:
Index 1 2 3 4 5
Nilai 78 13 67 2 9

Hal pertama yang akan kita lakukan adalah menentukan nilai elemen yang pertama yang harus dibandingkan (K) karena pengurutan bubble memulai dari kanan ke kiri maka nilai K adalah index yang paling kanan yaitu 5.

Indek 1:

K=5:
Kita akan membandingkan L[5] dengan L[4], karena L[5]!<L[4] maka tidak terjadi pertukaran.
78 13 67 2 9

K=4:
Bandingkan L[4] denganL [3], karenaL[4]<L[3]. Maka tukarkan L[4] denganL[3].

78 13 2 67 9
78 13 67 2 9

K=3:
Bandingkan L[3] dengan L[2], karena L[3]<L[2], maka tukarkan L[3] dengan L[2].
78 2 13 67 9

78 13 2 67 9

K=2:
Bandingkan kembali L[2] dengan L[1], karena L[2]<L[1] maka tukarkan L[2] dengan L[1].
78 2 13 67 9
2 78 13 67 9


Karena K hanya sampai i+1 maka nilai K pada tahap ini hanya sampai K=2.
Dan hasil akhir dari tahapan ini adalah:
2 78 13 67 9

Indek 2:
K=5

Seperti indeks 1 kita akan membandingkan L[5] denganL[4]. Kerena L[5]<L[4] maka L[5] ditukarkan dengan L[4].
2 78 13 67 9
2 78 13 9 67


K=4
Selanjutnya kita bandingkan lagi L[4] dengan [3].Karena L[4]<L[3] maka tukarkan nilai L[4] dengan nilai L[3].
2 78 13 9 67
2 78 9 13 67


K=3:
Bandingkan kembali L[3] dengan L[2], karena L[3]<L[2] maka tukarkan L[3] dengan L[2].
2 9 78 13 67
2 78 9 13 67

Tahap 4

2 9 78 13 67

K=5:
Bandingkan L[5] dengan L[4], karena L[5]!<L[4] maka tidak terjadi pertukaran.
2 9 78 13 67

K=4:
Bandingkan kembali L[4] dengan L[3], karena L[4]<L[3] maka tukarkan L[4] dengan L[3].
2 9 78 13 67
2 9 13 78 67

Hasil dari tahap ini adalah:
2 9 13 78 67

Indeks 4

K=5
Pada indeks 4 ini kita hanya bisa membandingkan L[5] dengan L[4]. Karena L[5]<L[4] maka tukarkan L[5] dengan L[4].
2 9 13 67 78

2 9 13 78 67

Hasil pengurutan adalah:
2 9 13 67 78

Kesimpulan
Pengurutan Bubble Sort merupakan pengurutan yang tidak efisien, karena membutuhkan operasi pertukaran pada setiap langkah. Sehingga jika ukuran larik yang besar, pengurutan dengan metode ini membutuhkan waktu yang relatif lebih lama dibandingkan dengan metode pengurutan yang lain sehingga tidak direkomendasikan untuk dipakai, anmun metode ini cukup sederhana untuk dipahami.
procedure UrutGelembung(input/output L: Larik; input N : integer)
Deklarasi:
I : integer {pencacah untuk jumlah langkah}
K : integer {pencacah untuk pengapungan pada setiap langkah}
Temp : integer {peubah bantu untuk pertukaran}
Algoritma
for I ← 1 to N-1 do
for K ← N downto I+1 do
if L[K] < L[K-1] then {pertukarkan L[K] dengan L[K-1]}
Temp ← L[K]
L[K] ← L[K-1]
L[K-1] ← Temp
endif
endfor
endfor

Memangil Daftar Kontak di Windows Phone

Yah, seiring berkembangnya zaman kontak yang kita miliki semakin banyak dan semakin lengkap jika dibandingkan kontak yang lama. Dulu informasi kontak yang kita simpan di dalam handphone kita hanya bisa menyimpan satu nomor untuk satu nama. Sehingga jika ada teman yang memiliki nomor yang banyak maka kita akan menyimpan namanya berkali-kali. Sekarang untuk menghubungi teman kita terkadang kita tidak butuh nomor telpon tetapi kita menghubungi lewat email dan account jejaring sosial lainnya. untuk menyimpan informasi email dan jejaring sosial terkadang menyebabkan kontak di smartphone kita penuh padahal ketika kita ingin menelponny kita tidak memiliki nomornya.

Terus apa hubungannya dengan postingan ini?? Yah akibatnya jika kita membuat aplikasi yang memiliki fitur SMS akan mengakibatkan aplikasi kita error karena jika kita memilih kontka yang tidak memiliki nomor hp maka aplikasi kita akan error. Maka dari itu postingan ini akan membahas bagaimana kita bisa membuat fitur sms dan kita bisa memilih kontak dari kontak yang sudah pasti memiliki nomor hp.

Fitur SMS sebenarnya di Windows Phone di kenal dengan Louncher and Chooser Sending SMS dan get Kontak. Sebelum kita menambah fitur sms lebih baik kita buat terlebih dahulu halaman kita untuk mengetik sms dan di lengkapi oleh tombol untuk memilih kontak tujuan SMS dan langsung memangil halaman SMS. Setelah kita ketik send maka kita cukup tambahkan di halaman kontak untuk menampilkan kontak kita yang memiliki nomor kontak saja.

Untuk mendapatkan kontak yang ada di dalam device kita. Pertama tama kita buka WMAppManifest.xml yang terdapat di bagian Properties pada solution explorer dan pastikan semua bagian ini sudah di ceklist di dalam Capabilities. dan tambahkan

using Microsoft.Phone.Tasks;
using Microsoft.Phone.UserData;

Setelah di tambahan sekarang cukup tambahkan kode di bawah ini di halaman kontak yang telah di buat.

 

protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            if (NavigationContext != null && NavigationContext.QueryString.TryGetValue("param", out param))
            {
                PhoneNumberChooserTask _phoneNumberChooser = new PhoneNumberChooserTask();
                _phoneNumberChooser.Completed += _phoneNumberChooser_Completed;
                _phoneNumberChooser.Show();
            }
            else
                NavigationService.GoBack();
        }

 

Untuk menampilkan kontak yang memiliki nomor handphone saja maka kita perlu memfilter kontak. untuk memfilternya kita harus mengecek semua nomor telpon semua kontak.

        void cons_SearchCompleted(object sender, ContactsSearchEventArgs e)
        {
           List<Contact> People = new List<Contact>() ;
           foreach (Contact con in e.Results){
                if(con.PhoneNumbers.FirstOrDefault()!=null)
                    People.Add(con);
           }
           ContactResultsData.ItemsSource =People;
        }

Jika kita sudah bisa menampilkan semua kontak yang memiliki nomor telpon saja sekarang bagaimana menangkap aksi jika salah satu kontak sudah di pilih.

        void _phoneNumberChooser_Completed(object sender, PhoneNumberResult e){
            SmsComposeTask _sms = new SmsComposeTask();
            if (e.PhoneNumber != null)
            {
                _sms.To = e.PhoneNumber.ToString();
                _sms.Body = param; _sms.Show();
            }
            else {
                NavigationService.GoBack();
            }
        }
    }

Yah semoga bisa membantu teman-teman sekalian..

Happy Coding.. 🙂

 

 

Membuat aplikasi Windows Phone Tanpa Baris Program

Akhirnya bisa menulis lagi…

Beberapa minggu yang lalu laptop saya rusak dan jadinya semua pekerjaan saya jadi terhambat termasuk membuat program. Sebenarnya di kantor saya ada computer tetapi karena Visual Studio 2013 membutuhkan spek computer yang cukup tinggi maka computer saya juga tidak bisa digunakan. Akhirnya saya sibuk dengan mbah google mencari bacaan-bacaan mengenai pemrograman Windows Phone. Ada sebuah artikel yang menarik yaitu membahas tentang compiler berbasis web yaitu Application Studio. Ternyata disini kita tinggal memilihi template dari aplikasi yang ingin kita gunakan dan kita cukup memilih tampilan yang ingin kita gunakan dan hanya mengubah isi dari halaman yang kita buat.

Syaratnya juga cukup gampang apalagi jika sudah memiliki accunt di windows phone developer cukup signin saja. Setelah kita sign in maka akan muncul halaman seperti gambar di bawah ini

 APW 14

Setelah masuk pilih tab Start New dan akan muncul halaman

APW 13

Silahkan pilih template yang sesuai dengan aplikasi yang sudah anda inginkan. Kali ini saya memilih Template Katalog dan pilih button create. Di bawah ini adalah tampilan default dari template Katalog. Terdapat 5 buah section, ini bisa anda hapus , tambah dan bisa juga anda hanya memodifikasi kontennya saja.

APW 12

Pada Text box App Title kita harus mengisi judul dari aplikasi yang akan kita buat. Setelah menentukan judul skr kita akan menentukan kira-kira section 1 apa yang akan kita isi. Untuk mengedit isinya cukup pilih edit pada section yang diinginkan.

APW11Di halaman ini kita cukup meneganti judul dari sectionnya dan mengubah setting Pages jika diinginkan dan untuk mengubah isi halaman cukup pilih Data tetapi ingat jika berpindah halaman anda akan selalu ditanyai apakah perubahan yang anda lakukan akan disimpan atau tidak. Untuk Data kita hanya perlu menulis text yang akan ditampilkan dan menambahkan gambar cukup kita Copy Paste.

Untuk section ke dua saya menggunakan Advanced section Collection.

Tahap 1. kita cukup menulis nama Collectionnya.

Tahap 2. Pilih Data configurasi, static resources kita hanya perlu menanamkan data di program sedangkan untuk dynamic data akan disimpan di cloud sehingga jika ada perubahan kita tidak perlu mengubah project cukup mengubah data di cloud.

Tahap 3. Pilih Create new agar kita bisa memilih tipe dari kolom yang akan kita buat. Pada tahap 3, kita cukup menulis nama kolom dan tipe data dari kolom tersebut bisa berupa text, gambar email atau nomor telpon dna lainnya. Silahkan tambahkan jumlah kolom sesuai kebutuhan.

Tahap 4. Setelah menentukan kolom data silahkan pilih Confirm.

APW10

Sekarang anda cukup memilih bentuk tampilannya dan memilih menu Data untuk mengisi Data dari koleksi anda. Setelah mengisi data, jangan lupa setting Page Bindingnya, silahkan pilih urutan kemunculan data. Kita bisa menyembunyikan beberapa data dan kita juga bisa menampilkan beberapa data.

Pada Advanced Section ada juga Menu, dan untuk pengaturannya sama dengan Collection.
Selamat Mencoba… J

 

 

Menampilkan Context Menu dengan Hold

Dari pengalaman saya biasanya jika ingin menampilkan menu cukup menampilkan menu di bagian atas aplikasi untuk aplikasi berbasis Dekstop. Tetapi jika berbasis mobile? Yah seperti yang kita ketahui layar mobile cukup sempit jadi kita harus bisa memanfaatkan sebaik mungkin layar mobile kita. Pada awalnya saya berpikir untuk membuat aplikasi yang memiliki sebuah database dimana ada fitur menampilkan data dan jika data tersebut di hold maka akan muncuk menu pilihan mau menghapus atau mau meng-update?. Saya binggung ini fitur apa ya namanya? Setelah saya cari akhirnya dapat juga dan ternyata namanya adalah Context Menu.

Bagaimana membuatnya? Tahapannya cukup gampang, pertama silahkan instal Windows phone Toolkit terlebih dahulu pada project anda. Caranya cukup pilih Tools –> NuGet Package Manager–>Manage Packages for Solution maka akan muncul tampilan seperti dibawah ini.

CaptureSetelah Instal, yang perlu anda lakukan selanjutnya adalah meng-copy kode di bawah ini di halaman MainPage.xaml bagian atas.

 xmlns:toolkit="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls.Toolkit"

Kemudian, copy kode di bawah ini detelah deklarasi Tools yang ingin anda tambahkan tetapi deklrasinya belum ditutup misal pada pendekralasian Button maka kode di bawah ini berada sebelum </Button>.

<toolkit:ContextMenuService.ContextMenu>
                    <toolkit:ContextMenu IsZoomEnabled="True" x:Name="ContextMenu" >
                        <toolkit:MenuItem Header="Add"  />
                        <toolkit:MenuItem Header="Update" />
                        <toolkit:MenuItem Header="Delete" />
                    </toolkit:ContextMenu>
</toolkit:ContextMenuService.ContextMenu>

Selesai.. jika program anda jalankan dan anda hold pada tools yang anda tambahkan Menu Item maka nanti akan muncul menu Item yang sudah kita buat yaitu Add, Update dan Delete seperti gambar di bawah ini. Ini bisa anda ubah dengan menambah menu baru atau mengubah menu yang ada atau bisa juga mengurangi menu sesuai kebutuhan anda.

wp_ss_20140402_0002

Dan jika anda ingin menambahkan event untuk setiap Menu Itemnya silahkan modifikasi pada tahapan ke 3 dengan menambahkan Click=”Nama_Method” atau jika mau lebih jelas silahkan perhatiakn code di bawah ini.

<toolkit:ContextMenuService.ContextMenu>
                    <toolkit:ContextMenu IsZoomEnabled="True" x:Name="ContextMenu" >
                        <toolkit:MenuItem Header="Add" Click="Opstion_Click" />
                        <toolkit:MenuItem Header="Update" Click="Opstion_Click"/>
                        <toolkit:MenuItem Header="Delete" Click="Opstion_Click"/>
                    </toolkit:ContextMenu>
</toolkit:ContextMenuService.ContextMenu>

Sekarang tinggal menambahkan method event-nya pada mainpage.xaml.cs

private void Opstion_Click(object sender, RoutedEventArgs e){
            MenuItem menuItem = (MenuItem)sender;
            MessageBox.Show(menuItem.Header.ToString());
}

Selamat Mencoba.. 🙂

 

 

 

[WP8 + SQLite] Delete Data From SQLite In Windows Phone

Sebelumnya saya pernah memposting menggenai SQLite juga tetapi baru tentang menginput data. Sekarang saya akan membahas bagaimana menghapus data dari SQLite. Project yang saya gunakan pada postingan ini adalah lanjutan dari postingan sebelumnya. Saya hanya melakukan penambahan fitur long press selected item pada listbox yang sudah pernah saya berikan.

Pada sadarnya untuk menghapus data di SQLite cukup gampang hanya membutuhkan SQL untuk mendeletenya saja. hanya saja sebelum membuat SQL kita perlu pendeklarasian SQL comment terlebih dahulu, carannya adalah dengan :

SQLiteCommand sqlComm = new SQLiteCommand(dbConn);

Setelah memiliki SQL comment sekarang anda bisa menyiapkan sintak SQL yang ingin dieksekusi dan disimpan dalam SQL comment, cara seperti di bawah ini:

 sqlComm.CommandText = "delete from task where nama = '" + Budi+ "'";

SQL diatas adalah untuk mendelete data yang dimiliki budi, ini bisa dimanipulasi dengan menganti kriterianya seperti SQL biasa. atau bisa disesuaikan dengan ini dari textbox seperti ini.

sqlComm.CommandText = "delete from task where nama = '" + textBox1.text+ "'";

Jika sudah siap SQLnya dan sudah disimpan dalam SQL comment sekarang saatnya untuk mengeksekusi SQL comment. Berikut caranya.

sqlComm.ExecuteQuery<Task>();

Penjelasan diatas adalah dasar dari cara menghapus data di SQLite, untuk implementasi penghapusannya mungkin banyak ide yang muncul dan berbeda-beda untuk setiap individu. Untuk implementasinya saya akan menambahkan fitur hapus jika ada item list yang di tekan lama (hold) maka akan ada konfirmasi penghapusan data. Cara menambahkan even hold cukup menambahkan even pada list seperti gambar di bawah ini.

delete

Sedangkan di mainpage.xml.csnya saya tambahkan kode di bawah ini yang merupakan hasil modipikasi code sebelumnya yang kita bahas.

private string potong(int urutan, string isiList) {
            string temp =string.Empty;int i=0;
            foreach (var t in isiList.ToCharArray()) {
                if (i == urutan && !t.Equals(':')) 
                    temp += t;
                else if (t.Equals(':')) 
                    i++;
            }
            return temp;
        }
        private void DataList() {
            List<Task> retrievedTasks = dbConn.Table<Task>().ToList<Task>();
            DaftarTlp.Items.Clear();
            foreach (var t in retrievedTasks)
            {
                DaftarTlp.Items.Add(t);
            }
            TBTlp.Text = string.Empty;
            TBNama.Text = string.Empty;
        }
        private void DaftarTlp_Hold(object sender, System.Windows.Input.GestureEventArgs e)
        {
            if (DaftarTlp.SelectedIndex >=0)
            {
                MessageBoxResult result=MessageBox.Show("Delete","Are you sure ?",MessageBoxButton.OKCancel);
                if (result==MessageBoxResult.OK) {
                    Task task = new Task();
                    SQLiteCommand sqlComm = new SQLiteCommand(dbConn);
                    sqlComm.CommandText = "delete from task where nama = '" + potong(1,DaftarTlp.SelectedItem.ToString()) + "'";
                    sqlComm.ExecuteQuery<Task>();
                    DataList();
                }
            }
        }

Jika item list kita hold maka akan muncul message box yang berfungsi mengkonfirmasi apakah kita benar-benar mau menghapus data item yang kita pilih. Jika user memilih iya maka data akan terhapus. Kurang lebih itu ide dari saya, jika anda memiliki ide yang berbeda silahkan dimodifikasi sesuai kebutuhan anda tetapi pada dasarnya penghapusan itu sama.. Selamat mencoba.. 🙂

%d bloggers like this: