Rabu, 20 November 2013

UTS | 15 November 2013

Jam adalah salah satu fitur penting pada setiap gadget yang berfungsi sebagai penunjuk waktu. Dan kali ini kita akan belajar bagaimana membuatnya di Platform Windows Phone 7. Sebelum kita memulainya, segera persiapkan tool-tool yang dibutuhkan. Visual Studio Express For Windows Phone beserta Windows Phone emulator mungkin sudah mencukupi. Baik, contoh tampilan aplikasi yang akan kita buat adalah sebagai berikut :
 Simple Clock Portrait
Untuk membuat jam seperti di atas, step-step yang dilakukan adalah sebagai berikut :
Buat project baru bernama Clock. 
SimpleClock Create
 Simpleclock OS Choose

Screenshot aplikasi sudah terlihat.
Simpleclock IDE awal


Perhatikan pada bagi TitlePanel. Ubah TextBlock sesuai dengan nama yang diinginkan. Misalnya sebagai berikut :
XAML header app title

Kemudian ubah bagian ContentPanel seperti berikut :
SimpleClock XAML ContentPanel

 Berikut code XAML lengkapnya :
<phone:PhoneApplicationPage
    x:Class="Clock.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
    xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d" d:DesignWidth="480" d:DesignHeight="768"
    FontFamily="{StaticResource PhoneFontFamilyNormal}"
    FontSize="{StaticResource PhoneFontSizeNormal}"
    Foreground="{StaticResource PhoneForegroundBrush}"
    SupportedOrientations="PortraitOrLandscape" Orientation="Portrait"
    shell:SystemTray.IsVisible="True">

    <!--LayoutRoot is the root grid where all page content is placed-->
    <Grid x:Name="LayoutRoot" Background="Transparent">
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="*"/>
        </Grid.RowDefinitions>

        <!--TitlePanel contains the name of the application and page title-->
        <StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28">
            <TextBlock x:Name="ApplicationTitle" Text="Testing Application" Style="{StaticResource PhoneTextNormalStyle}"/>
            <TextBlock x:Name="PageTitle" Text="simple clock" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}"/>
        </StackPanel>

        <!--ContentPanel - place additional content here-->
        <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
            <TextBlock Name="txtClock" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="36"/>
        </Grid>
    </Grid>

    <!--Sample code showing usage of ApplicationBar-->
    <!--<phone:PhoneApplicationPage.ApplicationBar>
        <shell:ApplicationBar IsVisible="True" IsMenuEnabled="True">
            <shell:ApplicationBarIconButton IconUri="/Images/appbar_button1.png" Text="Button 1"/>
            <shell:ApplicationBarIconButton IconUri="/Images/appbar_button2.png" Text="Button 2"/>
            <shell:ApplicationBar.MenuItems>
                <shell:ApplicationBarMenuItem Text="MenuItem 1"/>
                <shell:ApplicationBarMenuItem Text="MenuItem 2"/>
            </shell:ApplicationBar.MenuItems>
        </shell:ApplicationBar>
    </phone:PhoneApplicationPage.ApplicationBar>-->

</phone:PhoneApplicationPage>

Untuk membuat jam, dibutuhkan object timer. Pada Silverlight for Windows Phone, object timer tidak bisa diletakkan langsung pada display, tetapi harus dideklarasikan dengan menggunakan code.  Object timer yang digunakan melibatkan class DispatcherTimer. Class DispatcherTimer ada pada System.Windows.Threading. maka dari itu, jangan lupa untuk mencantumkan library pada header.
Berikut code lengkapnya :

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using Microsoft.Phone.Controls;
using System.Windows.Threading;

namespace Clock
{
    public partial class MainPage : PhoneApplicationPage
    {
        // Constructor
        public MainPage()
        {
            InitializeComponent();
            //inisialisasi timer
            DispatcherTimer timer = new DispatcherTimer();
            timer.Interval = TimeSpan.FromSeconds(1);
            timer.Tick += OnTimerTick;
            timer.Start();
        }

        void OnTimerTick(object sender, EventArgs args)
        {
            this.txtClock.Text = DateTime.Now.ToString();
        }
    }
}
 

Resume Materi 7 | 8 November 2013

Ketemu lagi dengan materi tentang windows phone yang lumayan asik untuk mencoba membuat sebuah sederhana dengan menggunakan visual studio dimana kita dapat membuat aplikasi untuk windows phone yang saat ini ikut meramaikan pasar smartphone. 
di pertemuan kali kita akan membahas tentang membaca inputan, baik itu textbox, passwordbox, checkbox, radiobutton, atau pun listbox dan kita bisa menggunakan layout untuk mengatur tampilan aplikasi yang akan kita buat agar tampilan kita lebih rapi.
cekidot ini dia codingnya gan :

<Grid x:Name = "Contentpanel1" Grid.Row = "1" Margin = "12,0,12,0">
    <Grid.RowDefinitions>
        <RowDefinition Heigh = "75" />
        <RowDefinition Heigh = "75" />
        <RowDefinition Heigh = "75" />
        <RowDefinition Heigh = "75" />
        <RowDefinition Heigh = "75" />
        <RowDefinition Heigh = "75" />
        <RowDefinition Heigh = "75" />
        <RowDefinition Heigh = "75" />
        <RowDefinition Heigh = "75" />
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width = "160" />
        <ColumnDefinition Width = "10" />
        <ColumnDefinition Width = "250" />
    </Grid.ColumnDefinitions>
</Grid>

Melihat dari cara penulisannya,  tentu cukup familiar, yaitu mirip dengan bahasa html, dimana ada pembuka, pasti ada penutup. Karena bahasanya adalah xml, jadi sangat mirip dengan html. Silahkan amati, skrip di atas akan menghasilkan tampilan berupa sebuah tabel dengan 8 baris dan 3 kolom. Saya yakin skrip ini sangat mudah untuk dipahami, jadi tidak perlu banyak dijelaskan.

Selanjutnya, kita akan menyisipkan beberapa komponen, tapi kita akan menyisipkannya melalui skrip, bukan langsung drad and drop dari library yang ada. 
Berikut ini adalah skrip untuk menyisipkan textBoxt:
<TextBox Name = "myTextBox"
     Width = "250"
     Height = "70"
     Grid.Column = "2"
     Grid.Row = "0"
     HorizontalAligment = "Stretch"
     VerticalAligment = "Strecth"
     TextChanged = "myTextBox_TextChanged"
     />

Setelelah skrip ini dibuat, akan tampil sebuah textBox di kolom ke-2 baris ke-0. Pada properti TextChanged kita bisa lihat bahwa kita memanggil sebuah event. Maka kita perlu membuat event tersebut dengan cara klik kanan pada nama method, kemudian klik "Navigate To Event Handler".
Catatan : Index baris dan kolom dimulai dari 0.

Kemudian tambahkan elemen-elemen lain dengan kode-kode di bawah ini:

<PasswordBox Name = "myPasswordBox"
         Width = "250"
         Height = "70"
         Grid.Column = "2"
         Grid.Row = "1"
         HorizontalAligment = "Stretch"
         VerticalAligment = "Strecth"
         PasswordChanged = "myPasswordBox_PasswordChanged"
         />

<CheckBox Name = "myCheckBox"
      Content = "Are you sure want to do this?"
      Grid.ColumnSpan = "3"
      Grid.Row = "2"
      HorizontalAligment = "Stretch"
      VerticalAligment = "Strecth"
      Checked = "myCheckBox_Checked"
      />

<RadioButton Name = "myRadioButton1"
         Content = "Male"
         Grid.Column = "2"
         Grid.Row = "3"
         HorizontalAligment = "Stretch"
         VerticalAligment = "Strecth"
         TextChanged = "myTextBoxChanged"
         GroupName = "myGroup"
         IsChecked = "True"
         />

<RadioButton Name = "myRadioButton2"
         Content = "Male"
         Grid.Column = "2"
         Grid.Row = "4"
         HorizontalAligment = "Stretch"
         VerticalAligment = "Strecth"
         TextChanged = "myTextBoxChanged"
         GroupName = "myGroup"
         />

<ListBox Name = "myListBox"
     Grid.Row = "5"
     Grid.ColumnSpan = "3"
     Grid.RowSpan = "2"
     SelectionChanged = myListBox_SelectionChanged">
    <ListBoxItem Content = "First Option" />
    <ListBoxItem Content = "Second Option" />
    <ListBoxItem Content = "Third Option" />
    <ListBoxItem Content = "Fourth Option" />
    <ListBoxItem Content = "Fifth Option" />
    <ListBoxItem Content = "Sixth Option" />
    <ListBoxItem Content = "Seventh Option" />
    <ListBoxItem Content = "Eighth Option" />
</ListBox>

<Button Name = "myButton"
    Grid.Row = "7"
    Grid.Column = "2"
    Content = "OK"
    Click= "myButton_Click" />

Ada sedikit yang perlu dijelaskan, di beberapa komponen, ada properti RowSpan dan ColumnSpan. Kode ini bertujuan untuk menggabungkan (merge) 2 cell atau lebih.

Selanjutnya, ketikkan skrip ini pada event button di file MainPage.xaml.cs untuk membaca inputan dari semua komponen yang telah kita buat.

String IBValue = myTextBox.Text;
string PBValue = myPasswordBox.Password;

String CBValue = "";
If (myCheckBox.IsChecked == true)
{
    CBValue = "Yes";
}
else
{
    CBValue = "No";
}

String RBValue = ""
If (myRadioButton1.IsChecked == true)
{
    RBValue = "Male";
}
else
{
    RBValue = "Female";
}

ListBoxItem LBItem = (ListBoxItem)myListBox.SelectionItem;
string LBItemValue - LBItem.Content.ToString();

Setelah semua selesai, coba jalankan aplikasi tersebut. Selamat mencoba!!!
NB: TB = TextBox
PB = PasswordBox
CB = CheckBox
RB = RadioButton
LB = ListBox

Rabu, 13 November 2013

Resume Materi 6 | 1 November 2013

kali ini saya akan manjelaskan terlebih dahulu mengenai object yang bertipe collection dalam C#. misalnya seperti: Array, stack, queue, arraylist, list, dan dictionary. Langsung saja, pertama2 saya akan menjelaskan menganai konsep array karena konsep ini akan banyak digunakan pada tipe collection.
 Array
  • suatu tipe data terstruktur yang berupa satu set data sejenis( tipe datanya sama) yang jumlah tetap dan diberinama tertentu
  •  
  • elemen2 array tersusun secara sequensial dalam memori sehingga memiliki alamat yang berdekatan
  • dapat berupa satu dimensi, dua dimensi atau array dalam array(jugged array)
  • elemen2nya bertipe data sama tapi bisa memiliki nilai yang sama(duplicate) atau berbeda
  • index array dimulai dari 0. jadi, jika array dengan N elemen, maka indexnya dari 0 sampai N-1.
  • elemen array diakses melalui index integer
int[] number = {1,2,3};
Console.WriteLine("Array pertama: " +number[0]);

Object Collection
Object collection dapat dikelompokan menjadi dua:
  1. Non Generic Type

  • terdapat dalam System.Collection
  • tidak disarankan karena performanya lebih rendah. ini berkaitan dengan boxing/unboxing sehingga berpengaruh terhadap penururan kecepatan, ukuran, dan power.
  • contohnya: stack, queue, arraylist, sortedlist, hashtable…

   2.   Generic Type

  • terdapat dalam System.Collection.Generic
  • memiliki performa yang lebih tinggi
  • sangat disarankan penggunaannya
  • contohnya:list<T>,linkedlist<T>,stack<T>,queue<T>,dictionary<K,V>,sorteddictionary<K,V>…
sekarang kita akan mempraktekannya, pertama - tama buat terlebih dahulu new project dengan nama collection
lalu buat text block dan sebuah button.
lalu atur propertis komponennya.
Pada Button || Name : collectionBT || Caption : Show Collection
Pada TextBlock|| Name : collectionTB || Text : - / Dikosongkan dan pilih wrap nya

class MotorCycle
{

            public string Name {get; set;}
            public string Model {get; set;}
}



Kemudian doubleclick pada button, agar masuk ke file MainPage.xaml.cs, dan ketikkan code di bawah ini:

            MotorCycle motorCycle1 = new MotorCycle();
            motorcycle1.Name = "Yamaha";
            motorCycle1.Model = "Jupiter MX";

            MotorCycle motorCycle = new MotorCycle();
            motorcycle1.Name = "Yamaha";
            motorCycle1.Model = "Jupiter MX";

            MotorCycle motorCycle1 = new MotorCycle();
            motorcycle1.Name = "Yamaha";
            motorCycle1.Model = "Jupiter MX";

            List<MotorCycle> mcList = new List<MotorCycle>();
            mcList.Add(motorCycle1);
            mcList.Add(motorCycle2);
            mcList.Add(motorCycle3);

            string myMotorCycle = "";
            foreach (MotorCycle mc in mcList)
            {
                        myMotorCycle += mc.Name + " - " + mc.Model + environtment.NewLine:
            }

            collectionTB.Text = myMotorCycle;

dan hasilnya akan seperti ini bila kita run di emulator windows phone :


itulah sedikit ulasan tentang collection pada windows phone beserta fungsi nya, semoga bermanfaat dan sampai berjumpa kembali di materi windows phone selanjutnya.

Resume Materi 5 | 25 oktober 2013

seperti biasa kegiatan rutin yang tidak rutin ini saya kerjakan kembali yaitu menulis blog tentang windows phone yang saya pelajari di kampus
  • Berikut kita akan menambahkan halaman untuk menampilkan layar emulator WP-7.1. tampilan desain menampilkan antarmuka phone sehingga memudahkan kita melihat desain yang kita hasilkan ketika proses pengembangan bagi yang sudah cukup mengenal Visual Studio maka panel ToolBox, solution Exploree, dan properties akan berada disekitar layar anda.
  • Tambahkan sebuah Button dan TextBlock  dari ToolBox. Perhatikam ketika sebuah button kita pilih, terlihat garis kotak diluar border button tersebut. Area itu menunjukan area yang masih terkena kamampuan Touc dari button. semua control memiliki hal tersebut. Ubah  titletext di Xaml sesuai keingin anda.

        Double klik di button akan menampilkan code-behind dari halaman yang sedang aktiv. Tambahkan fungsi untuk mengubah title nya dan masukkan scripnya.


Jika sudah  Run program…. Maka akan muncul seperti gambar di bwah ini jika klik Button Show Time.

  • Jika  kita ingin memisahkan antara tanggal dan jam kita bisa menambahkan scrip bawah ini,,

  • Selanjutnya cara menambahkan tanggal atau hari… dengan scrip seperti di bawah ini…

  • Oke sobat-sobat A-M mungkin yang sebelum – belumnya penempatan tanggal bulan dan tahun adalah default. Nah bagemana jika ingin menempatkan tanggal terlebih dahulu atau tahun terlebih dahulu.. ? gampang caranya seperti gambar dibawah..


  • Ketikkan kode berikut ini di bagian event handler button..
  • Selanjutnya kita dapat mencoba aplikasi sederhana yang sudah kita kerjakan. Untuk melakukan deployment dan  menjalankan aplikasi, kita dapan memilih antara menjalankan emulator atau di device windows phone 7.1 yang tersedia. Karena device nya sendiri belu tersedia maka kita pilih emulator untuk menjalankan aplikasi sederhana ini. Tekan F5 dan perhatikan hasil nya.


Jika kita melakukan deployment untuk pertama kali maka proses akan sedikit lama, namun tidak untuk yang kedua dan seterus nya selama emulator tidak kita nonaktifkan  ketikkan sembarang text ditextblock dan tekan button . page title akan muncul sesuai dengan text yang terdapat pada Textblock . 


----------------------------------------------------------------------------------------------------------

Konsep Dasar Pemrograman Berorientasi Objek
Contoh
 berorientasi Objek misalkan Manusia. Dari objek manusia ada Attribut. Attribut itu terdiri dari tangan, kaki, baju, topi dll. Dan Behavior yang merupakan sifat dari objek tersebut misalnya dari manusia jalan kedepan, jalan mundur dll.
Jika objek mobil, dari objek mobil tersebut terdiri dari Attribut ban, stir, pintu dll. Dan behavior atau sifatnya adalah maju, mundur, belok kanan, belok kiri dll.
Dari penjelasan singkat di atas kita dapat menarik kesimpulan bahwa dalam sebuah pemrograman Attribut merupakan Variabel (member), dan Behavior merupakan Methode (fungsi).
Dalam sebuah pemrograman berorientasi objek ada juga istilah class.  Jika ada class maka ada objeck. Dan apa perbedaan class dan objek.
Class adalah konsep dan deskripsi dari sesuatu. Sedangkan objeck adalah instance dari Class.
Contoh :
Class : mobil
Object : mobil pak joko atau mobil ku.
Yang perlu dipahami.
Class = Method + Variabel.
Object = Method + Variabel Bernilai
Oke selanjutnya kita langsung masuk dalam visual studio untuk membuat class. Langsung new project dan beri nama project kita dengan UnderstandingClass.

Masukan Button dan diberi nama sesuai keinginan anda ,kalau saya beri nama button “showClassBT”. Dan beri nama content dengan Show Class. Langsung double clik pada Button tersebut untuk memasukkan fungsi .


kita akan membuat Class baru. Tujuan menghilangkan atau meng-hidden class sebelumnya adalah agar nantinya sang visual studio windows phone
Disini kita membuat Clas baru yaitu MotorCycle

Selanjutnya kita akan membuat property. Seperti gambar di bawah ini. 
Selanjutnya kita akan membuat method dalam kelar baru yang kita buat tadi.  Bagaimana cara membuatnya ? seperti gambar berikut….

Oke property sudah, method sudah selanjutnya kita akan membuat Object dari class yang telah kita buat sebelumnya yaitu class MotorCycle.
Kita unhidden kempali pada clas sebumnya yang tadi kita sembunyikan dan ketikan coding di bawah ini..


Di situ ada terdapat dua object yang berbeda dalam satu class.
sedikit penerangan tentang OOP ( object Oriented Programing) ?
Ok selanjutnya ada sedikit pembahasan lagi yaitu tentang bagaimana menggunakan Class sebagai data type.
dan itu lah sedikit ulasan tentang materi kali ini semoga bermanfaat dan sampai berjumpa kembali di materi - materi windows phone selanjutnya.

Resume Materi 4 | 18 oktober 2013

Materi ke 4 kal ini adalah tentang method ada yang tau apa itu method ? kegunaan dari method ? dan gimana sihh cara buat method? yukk cekidot kida ulas method.
        Kita mulai kupas satu-satu.
Method adalah sarana bagi programmer untuk memodularisasi, artinya membreak atau memecah program kompleks menjadi bagian yang kecil-kecil sehingga nantinya dapat digunakan berulang-ulang, daripada menulis beberapa baris kode yang sama, intinya adalah mempermudah kita dalam penulisan scripct.

Untuk mengetahui bagaimana membuat method dan memanggil method, kita perhatikan contoh dibawah ini:
contoh sebuah method

private string newMethod(int x)
{
            return "Hallo";
}

Ada satu hal yang harus diperhatikan dalam menentukan nilai return, yaitu harus sesuai dengan tipe method yang dipakai. Dalam contoh diatas, karena tipe method-nya adalah string, maka nilai return-nya juga berupa string. Jika tipe datanya integer (int), maka nilai yang dikembalikan juga harus integer.

Sekarang mari kita lihat method itu dipanggil.

myTextBlock.text = newMethod(5);

Jadi, cara memanggil sebuah method sangat sederhana, hanya menuliskan nama method tersebut sesuai dengan format yang kita buat. Maksudnya, jika method yang dipanggil menggunakan parameter, maka kita juga harus menyertakan parameter sesuai dengan yang diperlukan method.

baiklah ini fungsi - fungsi komponen method nya di bawah ini.
"private", menandakan bahwa method hanya dapat dipanggil atau digunakan di dalam package dimana method itu berada.
"Hallo" adalah data yang dikembalikan ke method.

"string" adalah tipe method atau data yang diproses dalam method. Tipe method bisa disesuaikan dengan kebutuhan. Bisa juga diganti dengan int, double, dll.

"newMethod()" adalah nama method. Nama dari method bebas, tergantung Anda. Tapi disarankan nama method sesuai dengan fungsi method itu sendiri, agar mempermudah dalam pemanggilan method.

"int x" adalah parameter yang dibutuhkan dalam method.

"return" adalah pernyataan untuk membalikkan nilai.


dan itulah sedikit penjelasan tentang method, dan intinya method ini mempermudah kita dalam penulisan script yang kita tulis agar tidak terlalu panjang dalam penulisan script dan dengan begini method bisa di gunakan pada script yang ingin diulang fungsi nya, semoga tulisan ini bermanfaat bagi para pembaca.

Review Smartband M5

Halaman Gadget Smart Band M5     Dalam kesempatan kali ini halaman gadget akan mereview sebuah smartband yang sangat murah yang bisa kalian ...