.NET Conf 2018

Saat ini, ada beberapa variasi aplikasi, seperti mobile phone, aplikasi web, desktop, IoT, dll. Kehadiran berbagai aplikasi adalah mendukung pengembang untuk menggunakan alat yang dapat digunakan untuk membuat aplikasi dengan keluaran multi-platform.

Platform .NET adalah salah satu alat yang dapat digunakan oleh pengembang, yang memiliki kemampuan tinggi untuk mendukung pengembang membuat aplikasi dengan output multi-platform. NET adalah platform pengembangan perangkat lunak yang menangani banyak tugas berat untuk Anda ketika Anda ingin membuat aplikasi. Kerangka aplikasi membantu Anda membangun jenis aplikasi atau beban kerja tertentu dan memungkinkan anda membangun aplikasi untuk platform apa pun dengan sistem operasi apa pun.

Microsoft Innovation Center berinisiatif untuk mengadakan acara .NET Conf 2018 dengan mengambil tema tentang layanan kognitif dan kecerdasan buatan.  Konferensi diadakan pada hari Selasa, 18 September 2018 di perpustakaan Digital Fakultas Teknik UGM diikuti oleh 39 peserta. Konferensi ini dibagi menjadi tiga fase dengan pembicara dan topik yang berbeda.

Pembicara pertama adalah Ridi Ferdiana, beliau menyampaikan tentang penggunaan platform NET yang dapat digunakan untuk membuat aplikasi dengan output multi-platform. Dia juga menjelaskan layanan kognitif dan kecerdasan buatan yang dapat digunakan dalam kehidupan nyata untuk mempermudah aktivitas manusia.

Faturahman Yudanto sebagai pembicara kedua, ia menunjukkan kepada peserta bagaimana mengembangkan bot menggunakan layanan kognitif, mulai dari pembangun bot di Visual Studio untuk menyebarkan bot ke cloud.

Pada sesi terakhir Erick Kurniawan menjelaskan kepada peserta tentang Xamarin untuk mengembangkan aplikasi seluler menggunakan Visual Studio. Dia menyampaikan cara membuat aplikasi seluler menggunakan Xamarin dari awal hingga akhir untuk peserta konferensi.

Tulisan pada website MIC dapat diakses pada link ini.

145

Advertisements
Posted in Cognitive Services, Xamarin, Xamarin for Android, Xamarin Forms | Tagged , , | Leave a comment

BEKRAF Developer Day 2018

Pada tanggal 1 July 2018 telah dilaksanakan acara Bekraf Developer Day Surabaya 2018 di Hotel JW Marriott Surabaya. 

Acara ini diselenggarakan atas kerjasama Badan Ekonomi Kreatif (BEKRAF) dan Dicoding dengan dukungan Asosiasi Game Indonesia, Dicoding Elite, Google Developer Expert, Intel Innovator, Komunitas ID-Android, Samsung Developer Warrior, Microsoft Indonesia dan perusahaan-perusahaan teknologi di Indonesia.

Tema acara ini adalah: Membangun Kemandirian Bangsa Melalui Teknologi Digital

Pada acara ini peserta akan mendapatkan update teknis dari para praktisi yang telah sukses dalam pengembangan aplikasi, web, game, dan Internet of Things yang dikemas dalam sesi inspirasi, workshop, live coding, dan talkshow.

Situs resmi untuk pendaftaran acara ini dapat diakses pada laman berikut: https://www.dicoding.com/events/1724#content-event-session

Pada acara ini saya diberi kesempatan untuk berbagi ilmu dengan rekan-rekan developer dari seluruh Indonesia untuk membawakan materi Introduction To Azure Mobile Services, Xamarin, and Cognitive Services. Pada sesi ini saya menjelaskan bagaimana cara menggunakan layanan Azure Mobile Services dan layanan Cognitive Services untuk kemudian digunakan pada aplikasi mobile berbasis Xamarin Forms.

123

Posted in Azure Mobile Services, Cognitive Services, Xamarin, Xamarin Forms | Tagged , , | Leave a comment

FREE E-Book: Seri Belajar Xamarin – Cross Platform Mobile App dengan Xamarin Forms & Visual Studio 2017

Telah terbit FREE eBook Seri Belajar Xamarin dengan Judul Seri Belajar Xamarin – Cross Platform Mobile App dengan Xamarin Forms & Visual Studio 2017.Buku ini berisi materi pembuatan aplikasi mobile dengan target platform Android, iOS, dan Universal Windows Platform (UWP) menggunakan Xamarin Forms dan Visual Studio 2017.

cover xamarin vs 2017

Buku ini terdiri dari  84 halaman dan terbagi menjadi 6 Bab yaitu:

  • Bab 1 – Pengenalan Xamarin Form    5
    • Pendahuluan    5
    • Apa itu Xamarin    5
    • Instalasi Visual Studio 2017 dan Xamarin    6
    • Memulai Membuat Project Xamarin Form    7
    • Application Lifecycle pada Xamarin Forms    8
    • Xamarin Forms UI (User Interface)    9
    • Komponen Utama pada Xamarin    9
    • Xamarin Form UI    9
    • Page    9
    • Layout    10
    • View    10
    • Membuat Solusi Xamarin Form    10
    • Membuat Project Xamarin Form    11
    • Application Lifecycle pada Xamarin Form    13
  • Bab 2 – Desain Tampilan menggunakan Layout    15
    • Interaksi dengan kontrol pada Xamarin Form    18
  • Bab 3 – Membuat List    20
    • Binding List Of String    20
    • Menampilkan Data dari Data Model    21
    • Menambahkan Gambar Pada Cell    23
    • Kustomisasi Baris pada List    25
    • Menambahkan Tombol Pada List    27
    • Menggunakan Context Action    30
  • BAB 4 – Navigasi    33
    • Navigation Pattern    33
    • Menambahkan Navigation Page    33
    • Membuat Dropdown Menu    35
    • Menggunakan Modal    36
    • Menggunakan Popup    40
    • Menggunakan Display Action Sheet    41
    • Mengirimkan Data antar Page    42
    • Global Class    44
    • Menggunakan Master Page    45
    • Menggunakan Tab Page    48
  • BAB 5 – SQLite dan REST Services    51
    • Mengunakan Data Template    51
    • Data Template dengan Selection    53
    • Bekerja dengan SQLite    55
    • Menggunakan REST Services    63
    • Studi Kasus: Barang    70
  • BAB 6 – Bekerja dengan Azure Mobile Apps    75
    • Menambahkan Layanan Azure Mobile App.    75
    • Membuat Xamarin Forms Project    79

Anda dapat mengunduh FREE E-Book ini pada tautan berikut ini.

Untuk menghubungi penulis anda dapat mengirimkan email ke alamat erick@actual-training.com atau ke reza.faisal@gmail.com.

Jika anda tertarik untuk mengikuti pelatihan Xamarin anda dapat mengambil kelas pelatihan di http://actual-training.com.

Posted in Xamarin, Xamarin Forms | Tagged , , , , | Leave a comment

FREE E-Book: Seri Belajar Xamarin–Pengenalan Xamarin for Android

Telah terbit FREE eBook Seri Belajar Xamarin dengan Judul Seri Belajar Xamarin – Pengenalan Xamarin for Android.Buku ini berisi materi pembuatan aplikasi mobile dengan target platform Android menggunakan Xamarin for Android dan Visual Studio IDE.

xamarin android

Buku ini terdiri dari  50 halaman dan terbagi menjadi 5 Bab yaitu:

  • 1    Pengenalan Xamarin4Android    5
    • 1.1    Instalasi Xamarin for Visual Studio    5
  • 2    Arsitektur Android Platform    7
    • 2.1    Xamarin dan Android    8
    • 2.2    Menjalankan Android Emulator    10
    • 2.3    Menambahkan Activity    20
    • 2.4    Menyimpan State ketika proses Recreated Activity    22
    • 2.5    Android Life Cycle Management    23
    • 2.6    Menambahkan Menu    25
    • 2.7    Menambahkan Navigasi Action Bar    26
    • 2.8    Menambahkan Context Menu    26
    • 2.9    Mengirimkan Nilai antar Activity    27
    • 2.10    Code Sharing dengan Platform Lain    29
  • 3    Layout    34
    • 3.1    Linear Layout    34
    • 3.2    Relative Layout    34
    • 3.3    Table Layout    36
    • 3.4    Grid View    38
  • 4    Membuat ListView    40
    • 4.1    Menampilkan data dengan ListView    40
    • 4.2    Menggunakan ListActivity    41
    • 4.3    Menggunakan Simple Adapter    42
  • 5    Menggunakan REST Web Services    43

Anda dapat mengunduh FREE E-Book ini pada tautan berikut ini.

Untuk menghubungi penulis anda dapat mengirimkan email ke alamat erick@actual-training.com atau ke reza.faisal@gmail.com.

Jika anda tertarik untuk mengikuti pelatihan Xamarin anda dapat mengambil kelas pelatihan di http://actual-training.com.

Posted in Xamarin, Xamarin for Android | Tagged , , | Leave a comment

Xamarin Forms & Azure Mobile Services (Part 2)

Artikel ini adalah lanjutan dari artikel sebelumnya tentang pembuatan services di Azure Mobile Services. https://erickkurniawan.net/2017/11/04/xamarin-forms-azure-mobile-services-part-1/

Membuat Xamarin Forms Project

1. Buat Xamarin Forms Project dengan nama SampeMobileAzure.

2. Tambahkan package Microsoft Azure Mobile Client pada project.

image

3. Kemudian pada project portable tambahkan class Barang sebagai representasi dari table Barang yang ada pada Easy Table di Azure.

using Microsoft.WindowsAzure.MobileServices;
using Newtonsoft.Json;

namespace SampleMobileAzure
{
    public class Barang
    {
        private string _id;
        [JsonProperty(PropertyName = "id")]
        public string Id
        {
            get { return _id; }
            set { _id = value; }
        }

        private string _kodeBarang;
        [JsonProperty(PropertyName = "KodeBarang")]
        public string KodeBarang
        {
            get { return _kodeBarang; }
            set { _kodeBarang = value; }
        }

        private string _namaBarang;
        [JsonProperty(PropertyName = "NamaBarang")]
        public string NamaBarang
        {
            get { return _namaBarang; }
            set { _namaBarang = value; }
        }

        private int _stok;
        [JsonProperty(PropertyName = "Stok")]
        public int Stok
        {
            get { return _stok; }
            set { _stok = value; }
        }

        private decimal _hargaBeli;
        [JsonProperty(PropertyName = "HargaBeli")]
        public decimal HargaBeli
        {
            get { return _hargaBeli; }
            set { _hargaBeli = value; }
        }

        private decimal _hargaJual;
        [JsonProperty(PropertyName = "HargaJual")]
        public decimal HargaJual
        {
            get { return _hargaJual; }
            set { _hargaJual = value; }
        }

        [Version]
        public string Version { get; set; }
    }
}

4. Tambahkan juga class dengan nama Constants.cs yang digunakan untuk menyimpan url dari web services yang diakses.

namespace SampleMobileAzure
{
    public static class Constants
    {
        public static string ApplicationURL = @"https://actualmobileservices.azurewebsites.net";
    }
}

5. Tambahkan class BarangManager.cs, tambahkan method yang akan digunakan untuk mengambil data, menambah, dan mengupdate data dari Mobile App services.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.WindowsAzure.MobileServices;
using System.Diagnostics;
using System.Collections.ObjectModel;

namespace SampleMobileAzure
{
    public class BarangManager
    {
        private IMobileServiceTable<Barang> _barangTable;

        public BarangManager()
        {
            var client = new MobileServiceClient(Constants.ApplicationURL);
            _barangTable = client.GetTable<Barang>();
        }

        public async Task<ObservableCollection<Barang>> GetBarangAsync()
        {
            try
            {
                IEnumerable<Barang> barangs = await _barangTable.ToEnumerableAsync();
                return new ObservableCollection<Barang>(barangs);
            }
            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(Barang barang)
        {
            if (barang.Id == null)
            {
                await _barangTable.InsertAsync(barang);
            }
            else
            {
                await _barangTable.UpdateAsync(barang);
            }
        }
    }
}

6. Tambahkan class dengan nama ActivityIndicatorScope.cs. Class ini akan digunakan untuk menampilkan activity indicator pada saat aplikasi mengambil data dari services.

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());
            }
        }
    }
}

7. Tambahkan halaman xaml baru dengan nama BarangPage. Halaman ini digunakan untuk menampilkan data barang pada kontrol ListView.

<?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="SampleMobileAzure.BarangPage" Title="List Of Barang">
    <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 KodeBarang}" />
                                <Label FontSize="16" Text="{Binding NamaBarang}" />
                                <Label FontSize="16" Text="{Binding Stok}" />
                            </StackLayout>
                        </ViewCell>
                    </DataTemplate>
                </ListView.ItemTemplate>
            </ListView>
        </Grid>
    </ContentPage.Content>
</ContentPage>

8. Kemudian tambahkan kode c#-nya pada BarangPage.xaml.cs.

using System.Threading.Tasks;

using Xamarin.Forms;
using Xamarin.Forms.Xaml;

namespace SampleMobileAzure
{
    [XamlCompilation(XamlCompilationOptions.Compile)]
    public partial class BarangPage : ContentPage
    {
        private BarangManager _barangManager = new BarangManager();
        public BarangPage()
        {
            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 _barangManager.GetBarangAsync();
            }
        }

        private async void ListView_OnItemTapped(object sender, ItemTappedEventArgs e)
        {
            TambahBarangPage tambahPage = new TambahBarangPage();

            Barang item = (Barang) e.Item;
            tambahPage.BindingContext = item;
            ((ListView) sender).SelectedItem = null;
            await Navigation.PushAsync(tambahPage);
        }

        private async void MenuItem_OnClicked(object sender, EventArgs e)
        {
            TambahBarangPage tambahPage = new TambahBarangPage(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");
            }
        }
    }
}

9. Kemudian tambahkan halaman dengan nama TambahBarangPage.xaml. Halaman ini akan digunakan untuk menampilkan data, menambah data, dan mengupdate 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="SampleMobileAzure.TambahBarangPage" Title="Tambah Barang">
    <ContentPage.Content>
        <Grid x:Name="gvBarang">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="150" />
                <ColumnDefinition Width="*"/>
            </Grid.ColumnDefinitions>
            <Grid.RowDefinitions>
                <RowDefinition Height="50"/>
                <RowDefinition Height="50"/>
                <RowDefinition Height="50"/>
                <RowDefinition Height="50"/>
                <RowDefinition Height="50"/>
                <RowDefinition Height="50"/>
            </Grid.RowDefinitions>
            <Label Text="Kode Barang :" HorizontalTextAlignment="End" VerticalTextAlignment="Center" />
            <Entry x:Name="txtKodeBarang" Text="{Binding KodeBarang}" Placeholder="masukan kode barang" Grid.Row="0" Grid.Column="1" />

            <Label Text="Nama Barang :" HorizontalTextAlignment="End" Grid.Row="1" Grid.Column="0" VerticalTextAlignment="Center" />
            <Entry x:Name="txtNamaBarang" Text="{Binding NamaBarang}" Placeholder="masukan nama barang" Grid.Row="1" Grid.Column="1" />

            <Label Text="Stok :" HorizontalTextAlignment="End" Grid.Row="2" Grid.Column="0" VerticalTextAlignment="Center" />
            <Entry x:Name="txtStok" Text="{Binding Stok, StringFormat='{0:N}'}" Keyboard="Numeric" Placeholder="masukan stok" Grid.Row="2" Grid.Column="1" />

            <Label Text="Harga Beli :" HorizontalTextAlignment="End" Grid.Row="3" Grid.Column="0" VerticalTextAlignment="Center" />
            <Entry x:Name="txtHargaBeli" Text="{Binding HargaBeli, StringFormat='{0:N}'}" Keyboard="Numeric" Placeholder="masukan harga beli" Grid.Row="3" Grid.Column="1" />

            <Label Text="Harga Jual :" HorizontalTextAlignment="End" Grid.Row="4" Grid.Column="0" VerticalTextAlignment="Center" />
            <Entry x:Name="txtHargaJual" Text="{Binding HargaJual, StringFormat='{0:N}'}" Keyboard="Numeric" Placeholder="masukan harga jual" Grid.Row="4" Grid.Column="1" />

            <StackLayout Orientation="Horizontal" Grid.Row="5" Grid.ColumnSpan="2">
                <Button x:Name="btnSave" HorizontalOptions="EndAndExpand" Text="Save" WidthRequest="150" Clicked="BtnSave_OnClicked" />
            </StackLayout>
        </Grid>
    </ContentPage.Content>
</ContentPage>

10. Kemudian tambahkan kode pada TambahBarangPage.xaml.cs untuk menambah dan mengupdate data Barang.

using Xamarin.Forms;
using Xamarin.Forms.Xaml;

namespace SampleMobileAzure
{
    [XamlCompilation(XamlCompilationOptions.Compile)]
    public partial class TambahBarangPage : ContentPage
    {
        private BarangManager _barangManager = new BarangManager();
        private bool _isNew = false;
        public TambahBarangPage()
        {
            InitializeComponent();
        }

        private void ClearAll()
        {
            foreach (var ctr in gvBarang.Children)
            {
                if (ctr is Entry)
                {
                    var item = ctr as Entry;
                    item.Text = string.Empty;
                }
            }
        }

        public TambahBarangPage(bool isNew)
        {
            InitializeComponent();
            _isNew = isNew;
            if (_isNew)
            {
                txtKodeBarang.Focus();
            }
        }

        private async void BtnSave_OnClicked(object sender, EventArgs e)
        {
            if (_isNew)
            {
                var barang = new Barang()
                {
                    KodeBarang = txtKodeBarang.Text,
                    NamaBarang = txtNamaBarang.Text,
                    Stok = Convert.ToInt32(txtStok.Text),
                    HargaBeli = Convert.ToDecimal(txtHargaBeli.Text),
                    HargaJual = Convert.ToDecimal(txtHargaJual.Text)
                };
                await _barangManager.SaveTaskAsync(barang);
                ClearAll();
                await DisplayAlert("Keterangan", "Data Barang berhasil ditambah !", "OK");
            }
            else
            {
                var barang = (Barang) this.BindingContext;
                await _barangManager.SaveTaskAsync(barang);
                await DisplayAlert("Keterangan", "Data Barang berhasil diupdate !", "OK");
            }
        }
    }
}

11. Jalankan aplikasi untuk melihat hasilnya pada Android emulator.

imageimage

using Xamarin.Forms;
using Xamarin.Forms.Xaml;

namespace SampleMobileAzure
{
    [XamlCompilation(XamlCompilationOptions.Compile)]
    public partial class TambahBarangPage : ContentPage
    {
        private BarangManager _barangManager = new BarangManager();
        private bool _isNew = false;
        public TambahBarangPage()
        {
            InitializeComponent();
        }

        private void ClearAll()
        {
            foreach (var ctr in gvBarang.Children)
            {
                if (ctr is Entry)
                {
                    var item = ctr as Entry;
                    item.Text = string.Empty;
                }
            }
        }

        public TambahBarangPage(bool isNew)
        {
            InitializeComponent();
            _isNew = isNew;
            if (_isNew)
            {
                txtKodeBarang.Focus();
            }
        }

        private async void BtnSave_OnClicked(object sender, EventArgs e)
        {
            if (_isNew)
            {
                var barang = new Barang()
                {
                    KodeBarang = txtKodeBarang.Text,
                    NamaBarang = txtNamaBarang.Text,
                    Stok = Convert.ToInt32(txtStok.Text),
                    HargaBeli = Convert.ToDecimal(txtHargaBeli.Text),
                    HargaJual = Convert.ToDecimal(txtHargaJual.Text)
                };
                await _barangManager.SaveTaskAsync(barang);
                ClearAll();
                await DisplayAlert("Keterangan", "Data Barang berhasil ditambah !", "OK");
            }
            else
            {
                var barang = (Barang) this.BindingContext;
                await _barangManager.SaveTaskAsync(barang);
                await DisplayAlert("Keterangan", "Data Barang berhasil diupdate !", "OK");
            }
        }
    }
}
using Microsoft.WindowsAzure.MobileServices;
using Newtonsoft.Json;

namespace SampleMobileAzure
{
    public class Barang
    {
        private string _id;
        [JsonProperty(PropertyName = "id")]
        public string Id
        {
            get { return _id; }
            set { _id = value; }
        }

        private string _kodeBarang;
        [JsonProperty(PropertyName = "KodeBarang")]
        public string KodeBarang
        {
            get { return _kodeBarang; }
            set { _kodeBarang = value; }
        }

        private string _namaBarang;
        [JsonProperty(PropertyName = "NamaBarang")]
        public string NamaBarang
        {
            get { return _namaBarang; }
            set { _namaBarang = value; }
        }

        private int _stok;
        [JsonProperty(PropertyName = "Stok")]
        public int Stok
        {
            get { return _stok; }
            set { _stok = value; }
        }

        private decimal _hargaBeli;
        [JsonProperty(PropertyName = "HargaBeli")]
        public decimal HargaBeli
        {
            get { return _hargaBeli; }
            set { _hargaBeli = value; }
        }

        private decimal _hargaJual;
        [JsonProperty(PropertyName = "HargaJual")]
        public decimal HargaJual
        {
            get { return _hargaJual; }
            set { _hargaJual = value; }
        }

        [Version]
        public string Version { get; set; }
    }
}
Posted in Azure App Services, Azure Mobile Services, Xamarin, Xamarin Forms | Tagged , , , | Leave a comment

Xamarin Forms & Azure Mobile Services (Part 1)

Azure Mobile App adalah salah satu layanan dari Microsoft Azure yang dikhususkan untuk mendukung aplikasi Mobile. Dengan menggunakan layanan Azure Mobile App maka pengembang aplikasi mobile tidak perlu membuat sendiri backend services secara manual. Azure Mobile App menyediakan berbagai fitur yang memudahkan pengembang aplikasi mobile untuk bekerja dengan data menggunakan Easy Table, Autentikasi, Push Services, dan juga kemampuan sinkronisasi secara offline (offline data sysnc).

1. Masuk kedalam portal Microsoft Azure (portal.azure.com). kemudian pilih layanan Mobile Apps Quickstart untuk membuat layanan Mobile Apps secara instan.

image

2. Tekan tombol “Create” untuk membuat layanan Mobile Apps Quickstart.

image

3. Masukan nama services sebagai contoh saya memasukan nama layanan dengan nama “actualmobileservices”.

4. Kemudian pilih Subscription, pada contoh ini digunakan accout Dreamspark/Microsoft Imagine (free account untuk mahasiswa dan akademisi).

5. Buat resource group baru. Resource group digunakan untuk mengelompokan layanan yang ada di azure.

6. Untuk plan digunakan plan FREE yang dapat digunakan jika menggunakan account Dreamspark/Microsoft Imagine. Untuk lokasi data center pilih yang terdekat yaitu SEA (Southeast Asia).

7. Pilih tombol Create untuk membuat layanan Mobile App.

image

8. Setelah berhasil membuat layanan tersebut, masuk kedalam menu layanan Mobile App sebagai berikut. Disana anda dapat melihat berbagai macam fitur yang ditawarkan.

image

9. Pilih salah satu fitur yang ada yaitu “Easy Tables”. Dengan Easy Table anda dapat membuat table dengan mudah dan mengakses table tersebut menggunakan REST web services atau menggunakan Azure Mobile App SDK pada Xamarin Forms.

image

10. Secara default Easy Table akan menyimpan data pada database SQLite yang ada pada server, ini tidak disarankan untuk kepentingan production. SQLite masih dapat digunakan untuk kepentingan development.

11. Untuk melihat daftar kolom yang ada pada table di Easy Table anda dapat memilih pilihan Manage schema.

12. Anda dapat menambahkan table baru, serta menambahkan kolom yang dibutuhkan.

image

13. Langkah selanjutnya adalah membuat easy table dengan nama Barang. Kemudian pada table schema, tambahkan kolom baru yaitu KodeBarang, NamaBarang, Stok, HargaBeli, dan HargaJual.

image

Pada blog selanjutnya akan dibahas bagaimana cara untuk mengakses services yang sudah kita buat dari project Xamarin Forms.

Posted in Azure App Services, Azure Mobile Services, Xamarin, Xamarin Forms | Tagged , , , | Leave a comment

Memasang Aplikasi Xamarin Forms ke iOS Devices (Part 3)

Artikel kali ini adalah lanjutan dari artikel sebelumnya yaitu Memasang Aplikasi Xamarin Forms ke iOS Devices (Part 2).

Membuat Project Xamarin Forms

1. Buka tools Xamarin Studio, kemudian buat solution baru. Pilih Xamarin Forms App.

image

2. Beri nama project dan organization identifier sama dengan project XCode yang sudah kita buat sebelumnya.

image

3. Pilih lokasi untuk menyimpan project Xamarin Forms yang anda buat.

image

4. Pada project IOS buka file info.plist dan pastikan namespace nya sama dengan namespace project yang sudah anda buat di XCode.

image

5. Klik kanan pada project HelloXamarin.IOS, kemudian pilih IOS Bundle Signing. Masukan Signing Identity dan Provisioning Profile sesuai dengan gambar dibawah ini.

image

6. Untuk mencoba menjalankan aplikasi pada device, pilih target device (pada contoh berikut adalah Erick’s iPad). Kemudian tekan tombol Run untuk menjalankan aplikasi Xamarin Forms pada device.

image

7. Jika berhasil maka aplikasi yang sudah kita buat akan terinstal di device seperti pada gambar berikut.

image

Posted in Cross Platform Mobile Development, iOS, Xamarin, Xamarin Forms | Tagged , , | Leave a comment