Laman

Selasa, 13 Juni 2017

Cara Menyimpan Database Menggunakan Easy Table Azure !




Haai haii,, oke di pos ini Insya Allah saya bakalan lanjutin pos sebelumnya yaitu tentang Cara Membuat Layanan Azure Mobile App 
Nah kalo kali ini saya mau jelasin tentang cara menyimpan database menggunakan Easy Table nya Microsoft Azure. Oke langsung saja.

 Membuat database azure dengan Easy Table

  1. Buka portal.azure.com
  2. Masuk ke layanan yang telah kita buat. Pada tutorial ini layanan saya beri nama ModulKeren.
  3. Pada tab bagian kiri pilih Easy Table

  4.  Klik add

  5. Beri nama, pada tutorial ini saya ingin membuat tabel mahasiswa.
    Kemudian klik OK.

  6. Setelah terbuat lalu klik tabel yang sudah kita buat tadi. Kemudian untuk menambahkan column kita tekan pilihan "Manage Schema".
  7. Terdapat beberapa column yang telah dibuat secara otomatis oleh azure. Kita tidak perlu mengubah column tersebut, cukup tekan "Add a column" saja untuk menambahkan column. Pada tutorial ini saya menambahkan column baru yaitu nim dan nama mahasiswa dengan tipe string.

  8. Setelah terbuat kemudian kita bisa kembali ke menu Overview. Atau jika ingin melihat perubahan column maka ketika tadi masih berada di editor table kita bisa menekan tombol refresh (di sebelah tombol manage schema) untuk melihat penambahan column.
  9. Di menu overview kita bisa melihat URL tempat kita bekerja dengan table tersebut. Pada tutorial ini link modul tadi yaitu http://modulkeren.azurewebsites.net


Membuat Xamarin Forms Project melalui Visual Studio 2017

  1. Buka Visual Studio (saya memakai Visual Studio 2017)
  2. Klik new project, pilih Cross Platform App, beri nama dan tentukan lokasi penyimpanan, kemudian klik OK.
    Proses create new project ini akan memakan waktu agak lama sehingga kita harus sabar menunggu terlebih dahulu sehingga proses selesai.

  3. Setelah proses selesai kemudian tambahkan Microsoft.Azure.Mobile.Client pada project.
    Klik kanan Solution 'NamaProjectmu' -> Manage NuGet Packages for Solution.
    search Microsoft.Azure.Mobile.Client pada tab Browse, kemudian klik dan centang semua project. Setelah itu install.

    Jangan lupa proses ini membutuhkan koneksi Internet untuk mendownload data.

    pastikan bahwa readers sudah terkonek dengan internet.

  4. Jika muncul kotak dialog kemudian klik Ok dan I Accept.
  5. Tambahkan class Mahasiswa.cs

    using System;
    using Microsoft.WindowsAzure.MobileServices;
    using Newtonsoft.Json;
    
    namespace DataMahasiswa
    {
        public class Mahasiswa
        {
            private string _id;
            [JsonProperty(PropertyName = "id")]
            public string Id
            {
                get { return _id; }
                set { _id = value; }
            }
    
            private string _nim;
            [JsonProperty(PropertyName = "nim")]
            public string Nim
            {
                get { return _nim; }
                set { _nim = value; }
            }
    
            private string _namamahasiswa;
            [JsonProperty(PropertyName = "namamahasiswa")]
            public string NamaMahasiswa
            {
                get { return _namamahasiswa; }
                set { _namamahasiswa = value; }
            }
            
            [Version]
            public string Version { get; set; }
        }
    }
  6. Tambahkan class Constant.cs . Kelas ini berfungsi untuk menyimpan link dari url azure milik kita. Kenapa harus dipisahkan dalam kelas tersendiri ? Hal ini bertujuan untuk memudahkan pengembang dalam melakukan maintenance apabila ada perubahan alamat.

    namespace DataMahasiswa
    {
        public static class Constant
        {
            public static string ApplicationURL = @"http://modulkeren.azurewebsites.net";
        }
    }
  7. Tambahkan class Manager.cs

    using System;
    using System.Collections.Generic;
    using System.Threading.Tasks;
    using Microsoft.WindowsAzure.MobileServices;
    using System.Diagnostics;
    using System.Collections.ObjectModel;
    
    namespace DataMahasiswa
    {
        public class Manager
        {
            private IMobileServiceTable<Mahasiswa> _mahasiswaTable;
    
            public Manager()
            {
                var client = new MobileServiceClient(Constant.ApplicationURL);
                _mahasiswaTable = client.GetTable<Mahasiswa>();
            }
    
            public async Task<ObservableCollection<Mahasiswa>> GetMhsAsync()
            {
                try
                {
                    IEnumerable<Mahasiswa> mahasiswas = await _mahasiswaTable.ToEnumerableAsync();
                    return new ObservableCollection<Mahasiswa>(mahasiswas);
                }
                catch (MobileServiceInvalidOperationException msioe)
                {
                    Debug.WriteLine("@Invalid sync operation: {0}", msioe.Message);
                }
                catch (Exception e)
                {
                    Debug.WriteLine(@"Sync error: {0}", e.Message);
                }
                return null;
            }
    
            public async Task SaveTaskAsync(Mahasiswa mhs)
            {
                if (mhs.Id == null)
                {
                    await _mahasiswaTable.InsertAsync(mhs);
                }
                else
                {
                    await _mahasiswaTable.UpdateAsync(mhs);
                }
            }
        }
    }
    
  8. Tambahkan class dengan nama ActivityIndicatorScope.cs . Class ini akan digunakan untuk menampilkan activity indicator ketika sedang mengambil data services.

    using System;
    using System.Threading.Tasks;
    using Xamarin.Forms;
    
    namespace SampleMobileAzure
    {
        public class ActivityIndicatorScope : IDisposable
        {
            private bool _showIndicator;
            private ActivityIndicator _indicator;
            private Task _indicatorDelay;
    
            public ActivityIndicatorScope(ActivityIndicator indicator, bool showIndicator)
            {
                _indicator = indicator;
                _showIndicator = showIndicator;
    
                if (showIndicator)
                {
                    _indicatorDelay = Task.Delay(2000);
                    SetIndicatorActivity(true);
                }
                else
                {
                    _indicatorDelay = Task.FromResult(0);
                }
            }
            private void SetIndicatorActivity(bool isActive)
            {
                _indicator.IsVisible = isActive;
                _indicator.IsRunning = isActive;
            }
    
            public void Dispose()
            {
                if (_showIndicator)
                {
                    _indicatorDelay.ContinueWith(t => SetIndicatorActivity(false),
                        TaskScheduler.FromCurrentSynchronizationContext());
                }
            }
        }
    }
  9. Tambahkan file xaml baru dengan nama MahasiswaPage.xaml . Page ini rencananya akan digunakan untuk menampilkan data mahasiswa
    
    <?xml version="1.0" encoding="utf-8" ?>
    <ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
                 xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
                 x:Class="DataMahasiswa.MahasiswaPage">
        <ContentPage.ToolbarItems>
            <ToolbarItem Text="+" Clicked="MenuItem_OnClicked"/>
        </ContentPage.ToolbarItems>
        <ContentPage.Content>
            <Grid>
                <Grid.RowDefinitions>
                    <RowDefinition Height="*" />
                </Grid.RowDefinitions>
                <ActivityIndicator  
                           HorizontalOptions="Center" 
                           VerticalOptions="Center" 
                           IsVisible="False" 
                           IsEnabled="True" 
                           x:Name="syncIndicator"/>
                <ListView x:Name="listViewBarang" ItemTapped="ListView_OnItemTapped" IsPullToRefreshEnabled="True" Refreshing="ListViewBarang_OnRefreshing">
                    <ListView.ItemTemplate>
                        <DataTemplate>
                            <ViewCell>
                                <StackLayout HorizontalOptions="StartAndExpand" Orientation="Horizontal">
                                    <Label FontSize="16" Text="{Binding Nim}" />
                                    <Label FontSize="16" Text="{Binding NamaMahasiswa}" />
                                </StackLayout>
                            </ViewCell>
                        </DataTemplate>
                    </ListView.ItemTemplate>
                </ListView>
            </Grid>
        </ContentPage.Content>
    </ContentPage>
    
  10. Tambahkan juga code untuk MahasiswaPage.xaml.cs . Ini merupakan "back-end" dari page tadi.
    Jika muncul tanda merah pada TambahMhsPage maka tenang saja karena page tersebut insya Allah akan dibuat pada point selanjutnya.


    using System;
    using System.Threading.Tasks;
    using Xamarin.Forms;
    using Xamarin.Forms.Xaml;
    
    
    namespace DataMahasiswa
    {
        [XamlCompilation(XamlCompilationOptions.Compile)]
        public partial class MahasiswaPage : ContentPage
        {
    
            private Manager _mahasiswaManager = new Manager();
    
            public MahasiswaPage ()
            {
                InitializeComponent ();
            }
    
    
            protected override async void OnAppearing()
            {
                base.OnAppearing();
                await RefreshItems(true);
            }
    
            private async Task RefreshItems(bool showActivityIndicator)
            {
                using (var scope = new ActivityIndicatorScope(syncIndicator, showActivityIndicator))
                {
                    listViewBarang.ItemsSource = await _mahasiswaManager.GetMhsAsync();
                }
            }
    
            private async void ListView_OnItemTapped(object sender, ItemTappedEventArgs e)
            {
                TambahMhsPage tambahPage = new TambahMhsPage();
    
                Mahasiswa item = (Mahasiswa)e.Item;
                tambahPage.BindingContext = item;
                ((ListView)sender).SelectedItem = null;
                await Navigation.PushAsync(tambahPage);
            }
    
            private async void MenuItem_OnClicked(object sender, EventArgs e)
            {
                TambahMhsPage tambahPage = new TambahMhsPage(true);
                await Navigation.PushAsync(tambahPage);
            }
    
            private async void ListViewBarang_OnRefreshing(object sender, EventArgs e)
            {
                var list = (ListView)sender;
                Exception error = null;
                try
                {
                    await RefreshItems(false);
                }
                catch (Exception ex)
                {
                    error = ex;
                }
                finally
                {
                    list.EndRefresh();
                }
    
                if (error != null)
                {
                    await DisplayAlert("Refresh Error !", "Couldn't refresh data (" + error.Message + ")", "OK");
                }
            }
    
        }
    }
  11. Tambahkan file xaml dengan nama TambahMhsPage.xaml . Page ini digunakan untuk menampilkan, menambah, serta mengubah data.

    <?xml version="1.0" encoding="utf-8" ?>
    <ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
                 xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
                 x:Class="DataMahasiswa.TambahMhsPage">
        <ContentPage.Content>
            <Grid x:Name="gvMhs">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="150" />
                    <ColumnDefinition Width="*"/>
                </Grid.ColumnDefinitions>
                <Grid.RowDefinitions>
                    <RowDefinition Height="50"/>
                    <RowDefinition Height="50"/>
                    <RowDefinition Height="50"/>
                </Grid.RowDefinitions>
                <Label Text="Nim Mahasiswa :" HorizontalTextAlignment="End" VerticalTextAlignment="Center" />
                <Entry x:Name="txtKodeMhs" Text="{Binding Nim}" Placeholder="masukan nim mahasiswa" Grid.Row="0" Grid.Column="1" />
    
                <Label Text="Nama Mahasiswa :" HorizontalTextAlignment="End" Grid.Row="1" Grid.Column="0" VerticalTextAlignment="Center" />
                <Entry x:Name="txtNamaMhs" Text="{Binding NamaMahasiswa}" Placeholder="masukan nama mahasiswa" Grid.Row="1" Grid.Column="1" />
    
                <StackLayout Orientation="Horizontal" Grid.Row="2" Grid.ColumnSpan="2">
                    <Button x:Name="btnSave" HorizontalOptions="EndAndExpand" Text="Save" WidthRequest="150" Clicked="BtnSave_OnClicked" />
                </StackLayout>
            </Grid>
        </ContentPage.Content>
    </ContentPage>
    
    
  12. Kemudian tambahkan juga kode pada TambahMhsPage.xaml.cs
    using System;
    using Xamarin.Forms;
    using Xamarin.Forms.Xaml;
    
    namespace DataMahasiswa
    {
        [XamlCompilation(XamlCompilationOptions.Compile)]
        public partial class TambahMhsPage : ContentPage
        {
            private Manager _mhsManager = new Manager();
            private bool _isNew = false;
    
            public TambahMhsPage()
            {
                InitializeComponent();
            }
    
            private void ClearAll()
            {
                foreach (var ctr in gvMhs.Children)
                {
                    if (ctr is Entry)
                    {
                        var item = ctr as Entry;
                        item.Text = string.Empty;
                    }
                }
            }
    
            public TambahMhsPage(bool isNew)
            {
                InitializeComponent();
                _isNew = isNew;
                if (_isNew)
                {
                    txtKodeMhs.Focus();
                }
            }
    
            private async void BtnSave_OnClicked(object sender, EventArgs e)
            {
                if (_isNew)
                {
                    var barang = new Mahasiswa()
                    {
                        Nim = txtKodeMhs.Text,
                        NamaMahasiswa= txtNamaMhs.Text
                    };
                    await _mhsManager.SaveTaskAsync(barang);
                    ClearAll();
                    await DisplayAlert("Keterangan", "Data Barang berhasil ditambah !", "OK");
                }
                else
                {
                    var barang = (Mahasiswa)this.BindingContext;
                    await _mhsManager.SaveTaskAsync(barang);
                    await DisplayAlert("Keterangan", "Data Barang berhasil diupdate !", "OK");
                }
            }
        }
    }
    
    

  •  Oke untuk langkah terakhir selanjutnya cukup buka pada App.xaml.cs kemudian diedit untuk dijadikan seperti ini kodenya

    using Xamarin.Forms;
    
    namespace DataMahasiswa
    {
        public partial class App : Application
        {
            public App ()
            {
                InitializeComponent();
    
                MainPage = new NavigationPage(new MahasiswaPage());
            }
        }
    }


  • Hasil

    Untuk menjalankannya anda bisa menggunakan android device, emulator android, ataupun jika ingin lebih mudah maka tinggal set as start-up project pada klik kanan solution, kemudian ubah menjadi UWP.
    Disini saya menggunakan UWP untuk menjalankan program tersebut.



    gambar diatas belum muncul data apapun karena kita baru pertama membuat. Kemudian kita bisa menambahkan data mahasiswa dengan menekan tombol + pada window tersebut.
    Disini saya akan menambahkan data



    Kemudian jika proses berhasil maka akan muncul notifikasi sebagai berikut



    Jika melihat di halaman utama app kita juga sudah muncul data nya. Dan yang lebih menarik juga data kita sudah tersimpan di dalam Easy Table Microsoft Azure.




    Oke demikian tutorial dari Farhan mengenai Cara Menyimpan Database Menggunakan Easy Table Azure !
    Terimakasih atas perhatiannya :))


    Minggu, 04 Juni 2017

    Cara Membuat Layanan Azure Mobile App

    Azure Mobile App


    Azure Mobile App sendiri tuh merupakan salah satu layanan yang disediain Microsoft Azure yang dikhususin buat mendukung aplikasi mobile. Dengan menggunakan azure mobile app maka pengguna nggak perlu membuat sendiri backend services secara manual. Fitur yang ada di Azure Mobile App yaitu Easy Table, Autentikasi, Push Services, dan juga kemampuan sinkronisasi secara offline (offline data sysnc).


    Mobile Apps Quickstart



     Untuk ngebuat layanan ini berikut nih tutorialnya
    1. Buka portal Azure.
    2. Login dulu dengan akun masing2.
    3. Klik tombol plus "+" warna hijau di sidebar kiri, lalu ketikkan "Mobile App" pada search bar nya.

    4. Tekan enter, lalu pilih yang Mobile App Quicstart setelah itu tekan tombol create


    5. Kasih nama -> tekan app service plan/location.


    6. Create new App Service Plan. Beri nama service plan, dan pilih location yang sesuai dengan posisi kita.


    7. Selanjutnya tekan tombol create dan nanti proses pembuatan akan berlangsung cukup lama.
      Sehingga disarankan memakai koneksi internet yang cepat.
    8. Jika sudah akan mendapatkan notifikasi selesai


    9. Setelah selesai kemudian kita bisa gunain app tersebut dengan URL yang tertera untuk menyediakan layanan buat mobile app kita.
      Untuk contoh ini url nya yaitu modulkeren.azurewebsites.net



    10. Nah selanjutnya adalah membuat table yang Insya Allah akan dijelaskan selanjutnya.

    Okee demikian penjelasan mengenai cara membuat layanan azure mobile app.
    Semoga bermanfaat :)


    Kenalan dengan Microsoft Azure !



    Microsoft Azure adalah kumpulan layanan cloud terintegrasi yang dikembangkan oleh pengembang dan profesional TI untuk membangun, menyebarkan, dan mengelola aplikasi melalui jaringan pusat data global Microsoft. Dengan Azure, para readerss bisa mendapatkan kebebasan untuk membangun dan menerapkan di manapun Anda inginkan, menggunakan alat, aplikasi, dan kerangka kerja pilihan readerss

    Azure function adalah layanan komputer serverless yang memungkinkan Anda menjalankan kode on-demand tanpa harus secara eksplisit menyediakan atau mengelola infrastruktur. Gunakan Fungsi Azure untuk menjalankan skrip atau potongan kode sebagai respons terhadap berbagai peristiwa.

    Azure function sendiri sekarang udah ngedukung berbagai macam bahasa pemrograman. Antara lain
    ASP.NET Core, Node.js, F#, PHP, Java, dan Python. Namun untuk dukungan resmi, baru ASP.NET Core, Node.js dan F# saja.

    Untuk mengakses microsoft azure bisa masuk ke portal portal.azure.com . Hanya saja sebelumnya readers harus memiliki akun terlebih dulu sebelum masuk kesini. Buat ngebuat akun tersebut bisa bikin di web nya mas microsoft (pake mas lagi :D) yaitu : http://imagine.microsoft.com/ 
    Nah tapi buat readers mungkin perlu bayar nih buat akses azure ini. Sebenernya juga ada yang gratis yaitu pake beasiswa.  Tapi ini biasanya khusus buat mahasiswa sih. Nah misal masih jadi mahasiswa jangan lewatin kesempatan kalo ada pendaftaran kayak Microsoft Student Partner, dll. Itu bermanfaat banget guys buat belajar teknologinya Microsoft.



    Untuk tampilan dari azure kayak diatas gitu tuh. Nah beberapa layanan yang bisa readers gunain yaitu :
    1. Compute
      1. Virtual Machines, Infrastructure as a service (IaaS) mengizinkan pengguna untuk meluncurkan general-purpose Microsoft Windows dan Linux virtual machines, sebaik preconfigured mesin gambar untuk software package yang populer.
      2. App Services, lingkungan platform as a service (PaaS) memberikan pengembang untuk secara mudah mem-publish dan memanajemen websites.
      3. Websites, high density hosting website yang mengijinkan developer untuk membangun situs menggunakan ASP.NET, PHP, Node.js, atau Python dan dapat di deploy menggunakan FTP, Git, Mercurial, Team Foundation Server atau yang di upload melalui portal user.
      4. WebJobs, aplikasi yang bisa di deploy ke Web App untuk mengimplementasikan proses background.
    2. Networking
    3. Storage
    4. Web + Mobile
      1. Azure Mobile App.
        Azure Mobile App sendiri tuh merupakan salah satu layanan yang disediain Microsoft Azure yang dikhususin buat mendukung aplikasi mobile. Dengan menggunakan azure mobile app maka pengguna nggak perlu membuat sendiri backend services secara manual. Fitur yang ada di Azure Mobile App yaitu Easy Table, Autentikasi, Push Services, dan juga kemampuan sinkronisasi secara offline (offline data sysnc).
    5. Databases
    6. Data + Analytics
    7. AI + Cognitive Services
    8. Internet of Things
    9. Enterprise Integration
    10. Security + Identity
    11. Developer Tools
    12. Monitoring + Management
    13. Add-ons
    14. Containers
    15. Blockchain

     Oke sebenernya sih masih banyak lagi, Microsoft sendiri udah nyediain banyak banget macam aplikasi yang dibutuhin buat pengembangan. Tapi sorry ane belum bisa jelasin lebih dalem lagi hehehe. Maybe next-time if I want. hehe. :D
    Oke semoga bermanfaat, dan akhir kata ..
    Selamat kenalan dengan Microsoft Azure !


    referensi :
    https://en.wikipedia.org/wiki/Microsoft_Azure
    www.codepolitan.com
    https://azure.microsoft.com/en-us/
    www.dicoding.com

    source picture :
    http://media.bestofmicro.com/U/J/602443/original/Cloud-Azure.jpg

    Parsing JSON to string menggunakan dynamic pada C#



    Haaai readersss !! Di post ini ane Insya Allah bakalan nulis tentang gimana caranya buat nge parse json dengan memanfaatkan dynamic pada C# dan juga dengan bantuan JValue.
    okee langsung ajah.

    Dalam post ini ane ngegunain data currency convertion yang JSON nya bisa diambil dari link ini http://api.fixer.io/latest
    Bentuknya sendiri kayak gini nih


    okee sekarang kalo code C# nya kayak gini :

    using System;
    
    using Newtonsoft.Json.Linq;
    
    using System.Net.Http;
    
    using System.Diagnostics;
    
    
    
    namespace TesJSON
    
    {
    
        [XamlCompilation(XamlCompilationOptions.Compile)]
    
        public partial class HomePage : ContentPage
    
        {
    
    
    
            public HomePage()
    
            {
    
                InitializeComponent();
    
                 dynamic blogPosts;
    
    
    
                 string url = "http://api.fixer.io/latest";
    
                 HttpClient client = new HttpClient();
    
                 HttpResponseMessage response = await client.GetAsync(url);
    
                 response.EnsureSuccessStatusCode();
    
                 string json = await response.Content.ReadAsStringAsync();
    
    
    
                 blogPosts = JValue.Parse(json);
    
    
    
                 string date = blogPosts.date;
    
                 string curIDR = blogPosts.rates.IDR;
    
                 string curUSD = blogPosts.rates.USD;
    
    
    
                 
    
                Debug.WriteLine(date); // outputnya yaitu "2017-06-02"
    
                Debug.WriteLine(curIDR + "IDR");  // outputnya yaitu "14931.0 IDR"
    
                Debug.WriteLine(curUSD + "USD");  // outputnya yaitu "1.1217 USD" 
    
    
    
             }
    
         }
    
    }
    
    


    Siiip demikian post ku tentang dynamic JSON pada C#.
    Semoga bermanfaat,
    yuhu caw !



    Cara Menampilkan Data ListView pada C#




    Haii hai oke di post ini Insya Allah ane bakalan ngejelasin step by step gimana cara nya nampilin data kamu dengan menggunakan ListView. Yuklah capcuus

    1. Create Project Xamarin Cross-Platform. Tutorialnya bisa liat disini. Pada project ini saya beri nama Modul3
    2. Pada project portable klik kanan -> add new folder. Lalu berilah nama Models.
    3. Buatlah sebuah kelas dengan cara klik kanan project portable -> add new item -> pilih class -> beri nama = ListItem.cs -> oke
    4. tambahkan code berikut
      using System;
      using System.Collections.Generic;
      using System.Text;
      
      namespace Modul3.Models
      {
          public class ListItem
          {
              public string Source { get; set; }
              public string Title { get; set; }
              public string Description { get; set; }
              public string Price { get; set; }
          }
      }
    5. Klik kanan project portable lalu add item forms blank content page xaml. Beri nama BindingToDataModel.xaml
    6. Pada file BindingToDataModel.xaml tambahkan code berikut
      <?xml version="1.0" encoding="utf-8" ?>
      <ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
                   xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
                   x:Class="Modul3.BindingToDataModel">
          <ListView ItemsSource="{Binding ListItems}" ItemTapped="ListViewItemTapped">
              <ListView.ItemTemplate>
                  <DataTemplate>
                      <TextCell Text="{Binding Title}" Detail="{Binding Description}" DetailColor="Red" />
                  </DataTemplate>
              </ListView.ItemTemplate>
          </ListView>
      </ContentPage>
      


  • Pada file C# yaitu BindingToDataModel.xaml.cs tambahkan code berikut

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using Modul3.Models;
    using Xamarin.Forms;
    using Xamarin.Forms.Xaml;
    
    namespace Modul3
    {
        [XamlCompilation(XamlCompilationOptions.Compile)]
        public partial class BindingToDataModel : ContentPage
        {
            public BindingToDataModel ()
            {
                InitializeComponent ();
                BindingContext = new ListViewDataModelViewModel();
            }
    
            private async void ListViewItemTapped(object sender, ItemTappedEventArgs e)
            {
                ListItem item = (ListItem)e.Item;
                await DisplayAlert("Tapped", item.Title.ToString() + " was selected", "OK");
                ((ListView)sender).SelectedItem = null;
            }
    
            public class ListViewDataModelViewModel : BindableObject
            {
                private List<ListItem> lstItems;
                public ListViewDataModelViewModel()
                {
                    lstItems = new List<ListItem>
                    {
                        new ListItem {Title="Mystic", Description="Mystic team blue badge" },
                        new ListItem {Title="Instinct",Description="Instinct team yellow badge" },
                        new ListItem {Title="Valor",Description="Valor team red badge" }
                    };
                }
                public List<ListItem> ListItems
                {
                    get { return lstItems; }
                    set
                    {
                        lstItems = value;
                        OnPropertyChanged("ListItems");
                    }
                }
            }
        }
    }
    
     
  •  Lalu pada file utama yaitu App.xaml.cs yang telah tersedia tambahkan code berikut

  • Setelah selesai lalu silahkan run program tersebut. Jika ingin run di Android maka run dengan android. Jika ingin run di Windows OS maka set up project ke UWP, lalu deploy dan run.

    Setting Environment Xamarin Cross Platform


    Hai hai Readerrss !!
    welcome di blog ane.. oiya karena di blog ini baru pertama kali mau dibahas tentang xamarin oleh karena itu di post ini ane insya Allah bakalan jelasin tentang gimana caranya setting environment buat ngebikin Xamarin Cross Platform.

    Okee langsung ajah

    Step Installation

    1. Di tutorial ini saya menggunakan Visual Studio 2017. Bagi yang belum punya bisa download di link ini. https://www.visualstudio.com/vs/community/
    2.  Klik file installasi, lalu pilih yang Universal Windows Platform Development serta Mobile development with .NET

    3. Setelah itu klik install. Pastikan komputernya readerss tersambung dengan internet.

    Make New Project !

    Okee dibagian ini bakalan dijelasin buat bikin project pertama kali.
    1. Buka Visual Studio 2017
    2. Klik File -> New -> Project. Dan akan muncul tampilan seperti berikut. Pastikan para readerss udah memberi nama dan location penyimpanan project ini.
      Lalu klik Oke.
    3. Tampilan berikutnya adalah sebagai berikut, lalu cukup langsung di Ok aja.
      Proses creating akan berjalan cukup lama sehingga cukup tunggu dan nikmati saja

    4. Setelah selesai akan muncul tampilan seperti berikut. Menu ini berfungsi untuk memilih os windows pada device yang akan kita buat. kalau saya cukup langsung tekan Ok aja.
    5. Taraa. Setelah selesai berikut tampilannya


      Nah disitu ane udah nulis keterangan gambar dalam point alphabet yang penjelasannya ada disini :
      a. Solution Explorer
          disini kamu bisa melihat project portable, ios, android dan UWP (Universal Windows)
      b. Project Portable
          pada bagian inilah kamu bisa menambahkan code, halaman, dan sebagainya. jadi cukup melalui page ini aja buat nambahin code tuk nge develop tiga platform tersebut. Jadi enak banget kan kita ga perlu nambahin code code ke file android, ios, sama UWP. Ngurangin cost development banget tuh.
      c. Edit Code
          Okey, kalo tempat ini sih buat kita ngedit code nya. siip
    6. Nah Setting Environment untuk project mu udah selesai. Sekarang tinggal lanjut bikin apps sesuka dan sekreatif kalian. Uyee !

    Sabtu, 03 Juni 2017

    Apa itu Xamarin Cross Platform ?

    xamarin

    Haai hai Reader.
    kali ini ane mau share nih tentang apa itu xamarin cross platform
    Oke sebelumnya ane mau mulai dari xamarin itu sendiri apa. Xamarin sendiri merupakan semacam IDE (Integrated Development Environment) yang digunain buat nge develop OS Apple, Android, dan Windows. Nah dia sendiri tuh merupakan IDE yang open source. Selain itu nih dia juga bisa nempel di IDE Visual Studio. Jadi dengan nempelnya dia di Visual Studio menurutku jadi lebih mudah buat gunain karena all we need to develop is just in one app, yaitu Visual Studio.
    Nah Xamarin sendiri menggunakan bahasa C# dan .NET Framework. Jadi buat para readerss yang biasa nih pake .NET maupun C# jadi cukup mudah tuh buat nge-develop app pake Xamarin. Nah buat yang belum terbiasa gimana ? eeeittss jangan khawatir.
    Karena terus terang ane juga baru pertama kali gunain C# dan mungkin baru 1-2 minggu ini berkecimpung dengan C#. Dan walhasil alkhamdulillah cukup mudah kok hehe.
    Apalagi kalo misal kalian sebelumnya udah kenal apa itu OOP dan mungkin terbiasa dengan bahasa pemrograman JAVA and C. Naaaah lebih enak lagi tuh buat mahaminnya hehe.

    Oke sekarang kita masuk penjelasan tentang xamarin cross-platform.
    Jadi xamarin cross-platform itu merupakan fitur yang digunakan buat nge develop app sekaligus pada 3 platform kece yaitu Android, iOS, dan Windows. Untuk Windows sendiri kita bisa juga nge deploy ke berbagai macam device yang running os Windows.
    Jadi cukup simple banget tuh kalo misal mau bikin app di deploy ke Android, iOS, Windows PC, Windows Phone.
    Wuuiiihhh kan enak tuh sekali kerja dua tiga pulau terlampaui !!
    Nah ini beberapa kelebihan yang bisa didapetin dari Develop Mobile App using Xamarin
    • Cross-Platform development membantu buat menjangkau banyak user sehingga tidak terbatas pada satu platform saja.
    • Dengan membuat secara native maka akan membantu mengurangi cost perawatan dan pengembangan aplikasi lebih lanjut
    • Xamarin apps memiliki native API Access ke semua fungsionalitas platform dan device, termasuk platform yang spesifik seperti iBeacons dan Android Fragments.
    • Xamarin apps memiliki native user interface controls sehingga aplikasi akan berperilaku seperti seharusnya.
    • Xamarin digunakan untuk developing native and hybrid apps di berbagai platform, termasuk Android, iOS, Windows, Mac dengan menggunakan C# sebagai bahasa utamanya.
    Okee guyss demikian catatan singkat mengenai perkenalan dengan Xamarin Cross Platform. Semoga bermanfaat !!! :D


    referensi :
    https://www.spaceotechnologies.com/xamarin-native-cross-platform-app-development/
    image source :
    https://www.spaceotechnologies.com/xamarin-native-cross-platform-app-development/