PRAKTIKUM
Basis Data
Pertemuan 12
17 Mei 2018
Windows Azure – Review, Autentikasi
Data dan Menerapkan Data Relasi
Antar Tabel Pada Mobile Service
Microsoft Azure
Kelebihan Microsoft Azure :
->
Bisa menjalankan aplikasi dari berbagai jenis teknologi dan
platform, diantaranya .NET (sebagai teknologi dari Microsoft),
JAVA, dan juga PHP.
-> Memiliki Virtual Machine terbaik saat ini
-> Pilihan pengembangan aplikasi tidak terbatas
-> Terbuka dan Fleksibel
-> Data yang tersimpan pada cloud awet dan tahan lama
BASIS DATA ASISTEN LABORATORIUM MATEMATIKA FMIPA UNPAD 2018
Kekurangan Microsoft Azure :
Windows Azure – Autentikasi Data Pada Mobile
Service
Autentikasi Data :
Autentikasi data pada
mobile service
merupakan ftur untuk
memodifkasi aplikasi yang telah dibuat sebelumnya. Fitur
autentikasi yang akan ditambahkan memungkinkan pengguna
mempunyai databasenya secara pribadi atau dengan kata lain
pengguna yang lain tidak dapat melihat ataupun merubah data
tersebut.
BASIS DATA ASISTEN LABORATORIUM MATEMATIKA FMIPA UNPAD 2018
Windows Azure – Autentikasi Data Pada Mobile
Service
2. Klik
Easy tables
→ klik
TodoItem
BASIS DATA ASISTEN LABORATORIUM MATEMATIKA FMIPA UNPAD 2018
Windows Azure dan Mobile Data Service
3. Klik
Change permissions
→ ubah semua
Change permissions
Windows Azure – Autentikasi Data Pada Mobile
Service
4. Untuk membatasi data pada setiap pengguna, klik
Edit script
BASIS DATA ASISTEN LABORATORIUM MATEMATIKA FMIPA UNPAD 2018
5. Setelah klik
Edit script
maka akan terbuka halaman baru, lalu
return context.execute();
});
table.read(function (context) {
context.query.where({ userId:
context.user.userId });
Windows Azure – Autentikasi Data Pada Mobile
Service
BASIS DATA ASISTEN LABORATORIUM MATEMATIKA FMIPA UNPAD 2018
6. Untuk menghubungkan LIVE ID sebagai autentikasi pada
aplikasi, daftarkan aplikasi mobile service pada link
apps.dev.miscrosoft.com
Windows Azure – Autentikasi Data Pada Mobile
Service
8. Masukkan nama aplikasinya, lalu klik
Create
BASIS DATA ASISTEN LABORATORIUM MATEMATIKA FMIPA UNPAD 2018
8. Masukkan
Home page URL
dengan link yang ada pada bagian
Windows Azure – Autentikasi Data Pada Mobile
Service
BASIS DATA ASISTEN LABORATORIUM MATEMATIKA FMIPA UNPAD 2018
9. Buka
solution
yang sebelumnya telah di download pada Visual
Studio lalu tambahkan method berikut di
class
MainPage pada
file
MainPage.xaml.cs
Windows Azure – Autentikasi Data Pada Mobile
Service
BASIS DATA ASISTEN LABORATORIUM MATEMATIKA FMIPA UNPAD 2018
Windows Azure dan Mobile Data Service
10. Setelah itu, ubahlah method OnNavigatedTo pada
class
MainPage.xaml menjadi kode berikut
protected override async void OnNavigatedTo(NavigationEventArgs e) {
Windows Azure – Autentikasi Data Pada Mobile
Service
11. Jalankan aplikasi lalu simulasikan memasukan data tugas
dengan beberapa LIVE ID yang berbeda.
BASIS DATA ASISTEN LABORATORIUM MATEMATIKA FMIPA UNPAD 2018
Berikut adalah contoh isi data pada table TodoItem yang telah
diisi dengan berbagai data dari berbagai akun LIVE ID yang
Windows Azure – Menerapkan Data Relasi Antar
Table pada Mobile Service
Relasi antar tabel :
Relasi Antar table adalah sesuatu yang sangat penting dalam
sebuah aplikasi dan program. Teknik relasi data ada beberapa
macam, misalnya dengan teknik normalisasi, teknik entity
relationship dan sebagainya. Namun bagaimanapun tekniknya,
relasi data bertujuan untuk menghemat memori dalam
perancangan
database
dan
juga
menghindari
adanya
penginputan berulang dalam sebuah aplikasi.
BASIS DATA ASISTEN LABORATORIUM MATEMATIKA FMIPA UNPAD 2018
Ada beberapa jenis relasi database, yaitu :
•
Relasi One to One
Windows Azure – Menerapkan Data Relasi Antar
Table pada Mobile Service
Ketika memilih data dari beberapa tabel dengan relasi ini, kita
akan menggunakan JOIN query. Ada beberapa jenis JOIN, yaitu :
•
Cross Joins
•
Natural Joins
•
Inner Joins
•
Left (Outer) Joins
•
Right (Outer) Joins
Pada bagian ini akan dipaparkan tentang tahapan – tahapan
pembuatan table yang saling berelasi pada Azure Mobile
Service.
BASIS DATA ASISTEN LABORATORIUM MATEMATIKA FMIPA UNPAD 2018
1. Buatlah dua buah
data table
pada windows Azure dengan
masing – masing nama
table
“MataKuliah” untuk menampung
data mata kuliah dan
table
“Tugas” untuk menampung data
keseluruhan tugas. Kedua
table
mempunyai keseluruhan
Windows Azure – Menerapkan Data Relasi Antar
Table pada Mobile Service
2. Setelah itu ubahlah SCRIPT “Read” dan SCRIPT “Insert” pada
kedua table dengan kode yang sama dengan
table
TodoItem
sebelumnya.
3. Pada
project
daftar tugas,
import
StandardStyle.xaml dengan
cara menambahkan Basic Page ke dalam
project
. Basic Page
yang telah ditambahkan ke dalam
project
dapat dihapus karena
tidak akan dipergunakan.
BASIS DATA ASISTEN LABORATORIUM MATEMATIKA FMIPA UNPAD 2018
4. Tambahkan kode berikut pada StandardStyle.xaml
<Style x:Key="MediumText" TargetType="TextBlock" >
<Setter Property="FontSize" Value="30" />
<Setter Property="FontFamily" Value="Segoe UI Light" />
<Setter Property="FontWeight" Value="Thin" /> <Setter Property="TextWrapping" Value="Wrap" />
Windows Azure – Menerapkan Data Relasi Antar
Table pada Mobile Service
BASIS DATA ASISTEN LABORATORIUM MATEMATIKA FMIPA UNPAD 2018
Windows Azure dan Mobile Data Service
Windows Azure – Menerapkan Data Relasi Antar
Table pada Mobile Service
BASIS DATA ASISTEN LABORATORIUM MATEMATIKA FMIPA UNPAD 2018
Windows Azure dan Mobile Data Service
<TextBox Name="inputMatkul" Margin="5" MinWidth="400" Height="40"/>
<Button Name="btnTambahMatkul" Click="btnTambahMatkul_Click" Content="" FontFamily="Segoe UI Symbol"/>
</StackPanel>
<StackPanel Name="panelInputTugas" Grid.Row="1" Grid.Column="1" Orientation="Horizontal"
<Grid.ColumnDefnitions>
<ColumnDefnition Width="*" /> <ColumnDefnition Width="50"/> </Grid.ColumnDefnitions>
<TextBox Name="inputTugas" Margin="5" MinWidth="500" Height="40" Grid.Column="0"/>
<Button Name="btnTambahTugas" Content="" FontFamily="Segoe UI Symbol" Grid.Column="1"
Windows Azure – Menerapkan Data Relasi Antar
Table pada Mobile Service
BASIS DATA ASISTEN LABORATORIUM MATEMATIKA FMIPA UNPAD 2018
Windows Azure dan Mobile Data Service
</StackPanel>
<StackPanel x:Name="noCategories" Grid.Column="0"
Orientation="Vertical" Visibility="Visible" VerticalAlignment="Center" Margin="120,0,0,0" Grid.RowSpan="3">
<TextBlock Style="{StaticResource MediumText}" Margin="0,10,10,10">
Selamat datang. Kamu belum mendaftarkan mata kuliah kamu.
</TextBlock>
<TextBlock Style="{StaticResource MediumText}" Margin="0,10,10,10">
Untuk mendaftarkan mata kuliah, kamu dapat mengisi kolom isian di atas.
<StackPanel x:Name="noTask" Grid.Column="1" Orientation="Vertical" Visibility="Collapsed"
VerticalAlignment="Center" Grid.RowSpan="3"> <TextBlock Style="{StaticResource MediumText}" Margin="20,10,10,10">
Kamu belum mempunyai tugas. </TextBlock>
<TextBlock Style="{StaticResource MediumText}" Margin="20,10,10,10">
Untuk mendaftarkan tugas, kamu dapat mengisi kolom isian di atas.
Windows Azure – Menerapkan Data Relasi Antar
Table pada Mobile Service
BASIS DATA ASISTEN LABORATORIUM MATEMATIKA FMIPA UNPAD 2018
Windows Azure dan Mobile Data Service
<ListView x:Name="listViewMatkul" Grid.Row="2" Grid.Column="0" ItemsSource="{Binding MataKuliah}" Margin="120,0,0,0"
<TextBlock Style="{StaticResource MediumText}" Text="{Binding NamaMataKuliah}"/>
</StackPanel>
</DataTemplate>
</ListView>
<ListView x:Name="listViewTugas" Grid.Row="2" Grid.Column="1" ItemsSource="{Binding Tugas}" Style="{StaticResource
ItemsListViewStyle}" Visibility="Collapsed" Margin="50,0,0,0"> <ListView.ItemTemplate>
<DataTemplate>
<StackPanel Margin="20,20,20,10">
<CheckBox Name="CheckBoxComplete" IsChecked="{Binding
Complete, Mode=TwoWay}" Checked="CheckBoxComplete_Checked" Content="{Binding NamaTugas}" Margin="10,5"
Windows Azure – Menerapkan Data Relasi Antar
Table pada Mobile Service
BASIS DATA ASISTEN LABORATORIUM MATEMATIKA FMIPA UNPAD 2018
Windows Azure dan Mobile Data Service
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate> </ListView>
6. Tambahkan kedua class berikut ke dalam MainPage.xaml.cs
sebagai data model yang akan digunakan.
public class Tugas {
public int Id { get; set; }
[JsonProperty(PropertyName = "namatugas")] public string NamaTugas { get; set; }
Windows Azure – Menerapkan Data Relasi Antar
Table pada Mobile Service
BASIS DATA ASISTEN LABORATORIUM MATEMATIKA FMIPA UNPAD 2018
Windows Azure dan Mobile Data Service
[JsonProperty(PropertyName = "matakuliahid")] public int MataKuliahID { get; set; }
}
public class MataKuliah {
public int Id { get; set; }
[JsonProperty(PropertyName = "namamatkul")] public string NamaMataKuliah { get; set; }
7. Tambahkan
variable
–
variable
berikut sebagai pemetaan data
model yang akan digunakan ke dalam class MainPage yang
berada pada MainPage.xaml.cs
public sealed partial class MainPage : Page{
private MobileServiceCollection<Tugas, Tugas> tugasItem; private IMobileServiceTable<Tugas> tugasTable =
App.MobileService.GetTable<Tugas>();
private MobileServiceCollection<MataKuliah, MataKuliah> matkulItem;
Windows Azure – Menerapkan Data Relasi Antar
Table pada Mobile Service
8. Tambahkan
method-method
berikut ke dalam class MainPage
yang berada pada MainPage.xaml.cs
BASIS DATA ASISTEN LABORATORIUM MATEMATIKA FMIPA UNPAD 2018
Windows Azure dan Mobile Data Service
private void switchTugas() {
bool isTugasAvalaible = tugasItem.Count > 0;
noTask.Visibility = isTugasAvalaible ? Visibility.Collapsed : Visibility.Visible;
Windows Azure – Menerapkan Data Relasi Antar
Table pada Mobile Service
9. Tambahkan method – method berikut sebagai operasi dasar
dari data model yang akan digunakan ke dalam class MainPage
yang berada pada MainPage.xaml.cs
BASIS DATA ASISTEN LABORATORIUM MATEMATIKA FMIPA UNPAD 2018
Windows Azure dan Mobile Data Service
private async void RefreshMatkulItems() {
MobileServiceInvalidOperationException exception = null; try
{
matkulItem = await matkulTable.ToCollectionAsync(); }
catch (MobileServiceInvalidOperationException e) {
Windows Azure – Menerapkan Data Relasi Antar
Table pada Mobile Service
BASIS DATA ASISTEN LABORATORIUM MATEMATIKA FMIPA UNPAD 2018
Windows Azure dan Mobile Data Service
private async void InsertTugas(Tugas itemTugas) {
await tugasTable.InsertAsync(itemTugas); tugasItem.Add(itemTugas);
inputTugas.Text = null; switchTugas();
Windows Azure – Menerapkan Data Relasi Antar
Table pada Mobile Service
BASIS DATA ASISTEN LABORATORIUM MATEMATIKA FMIPA UNPAD 2018
Windows Azure dan Mobile Data Service
private async void RefreshTugasItems(int matkulid) {
catch (MobileServiceInvalidOperationException e) {
exception = e; }
if (exception != null) {
await new MessageDialog(exception.Message, "Gagal mengambil tugas").ShowAsync();
Windows Azure – Menerapkan Data Relasi Antar
Table pada Mobile Service
BASIS DATA ASISTEN LABORATORIUM MATEMATIKA FMIPA UNPAD 2018
Windows Azure dan Mobile Data Service
else
private async void UpdateCheckedTugasItem(Tugas itemTugas) {
await tugasTable.UpdateAsync(itemTugas); tugasItem.Remove(itemTugas);
private void CheckBoxComplete_Checked(object sender, RoutedEventArgs e)
{
CheckBox cb = (CheckBox)sender;
Tugas item = cb.DataContext as Tugas; UpdateCheckedTugasItem(item);
Windows Azure – Menerapkan Data Relasi Antar
Table pada Mobile Service
10. Ubahlah method OnNavigatedTo pada class MainPage yang
berada pada MainPage.xaml.cs menjadi kode berikut.
BASIS DATA ASISTEN LABORATORIUM MATEMATIKA FMIPA UNPAD 2018
Windows Azure dan Mobile Data Service
protected override async void OnNavigatedTo(NavigationEventArgs e)
{
11. Tambahkan method – method berikut sebagai event yang
akan digunakan ke dalam class MainPage yang berada pada
MainPage.xaml.cs
private void btnTambahMatkul_Click(object sender, RoutedEventArgse)
{
var itemMatkul = new MataKuliah { NamaMataKuliah = inputMatkul.Text };
Windows Azure – Menerapkan Data Relasi Antar
Table pada Mobile Service
BASIS DATA ASISTEN LABORATORIUM MATEMATIKA FMIPA UNPAD 2018
Windows Azure dan Mobile Data Service
private void btnTambahTugas_Click(object sender, RoutedEventArgs e)
{
MataKuliah selectedMatkul =
(MataKuliah)listViewMatkul.SelectedItem;
var itemTugas = new Tugas { MataKuliahID = selectedMatkul.Id, NamaTugas = inputTugas.Text }; InsertTugas(itemTugas);
private void listViewMatkul_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (listViewMatkul.SelectedIndex > -1) {
panelInputTugas.Visibility = Visibility.Visible; MataKuliah selectedMatkul =
(MataKuliah)listViewMatkul.SelectedItem;
Windows Azure – Menerapkan Data Relasi Antar
Table pada Mobile Service
BASIS DATA ASISTEN LABORATORIUM MATEMATIKA FMIPA UNPAD 2018
Windows Azure dan Mobile Data Service
else
{
panelInputTugas.Visibility = Visibility.Collapsed; listViewTugas.Visibility = Visibility.Collapsed;
noTask.Visibility = Visibility.Collapsed; }
Ada pertanyaan?
BASIS DATA ASISTEN LABORATORIUM MATEMATIKA FMIPA UNPAD 2018