Showing posts with label cara membuat. Show all posts
Showing posts with label cara membuat. Show all posts

Thursday, 12 June 2014

Windows Phone Tutorial - Membuat Sliding Menu (4) - Mengimplementasikan Swipe Gesture

Oke, ini sudah bagian terakhir dari seri tutorial pembuatan Sliding Menu di Windows Phone. Kalau misalkan Anda sudah mengikuti postingan saya yang sebelumnya, Anda mungkin akan bertanya "Bagaimana mengimplementasikannya dengan cara menggeser layar saja?". Jawabannya adalah dengan menggunakan swipe gesture.


Yang pertama kalian lakukan adalah tambahkan event ManipulationStarted dan ManipulationCompleted di LayoutRoot kalian (kalau di saya nama yang saya kasih untuk event ini adalah StartSlideMenu dan SlideMenuComplete). ManipulationStarted ini akan terjadi apabila user mulai melalukan semacam interaksi pada kontrol ybs. Sedangkan ManipulationCompleted akan terjadi ketika interaksi selesai terjadi. Untuk mempelajari lebih lanjut mengenai event-event ini, silahkan lihat link ini dan ini.

Hasil akhir kodingan XAML kalian akan terlihat sepert ini

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

 ...
Kemudian di code-behindnya tambahkan kodingan berikut ini.

Point currentPoint, initialPoint;

...

private void StartSlideMenu(object sender, ManipulationStartedEventArgs e)
{
   initialPoint.X = e.ManipulationOrigin.X;   
}

private void SlideMenuComplete(object sender, ManipulationCompletedEventArgs e)
{
   var velocities = e.FinalVelocities;
   var lin = velocities.LinearVelocity;
   
   if (lin.X - initialPoint.X >= 750 && Math.Abs(lin.Y - initialPoint.Y) <= 50)
   {
        //Periksa apakah menu tertutup
        //jika iya, Swipe Kanan
        if (!isMenuIn)
        {
           MenuIn.Begin();
        }
   }

   if (initialPoint.X - lin.X >= 750 && Math.Abs(lin.Y - initialPoint.Y) <= 50)
   {
        //Periksa apakah menu terbuka
        //jika iya, Swipe Kiri
        if (isMenuIn)
        {
            MenuOut.Begin();
        }
   }
}

Kodingan akhir kalian akan seperti ini

namespace SlideMenuModule
{
    public partial class MainPage : PhoneApplicationPage
    {

        bool isMenuIn = false;
        Point currentPoint, initialPoint;

        // Constructor
        public MainPage()
        {
            InitializeComponent();
            MenuIn.Completed += MenuIn_Completed;
            MenuOut.Completed += MenuOut_Completed;
        }

        void MenuOut_Completed(object sender, EventArgs e)
        {
            isMenuIn = false;
        }

        void MenuIn_Completed(object sender, EventArgs e)
        {
            isMenuIn = true;
        }

        private void Click_Menu(object sender, RoutedEventArgs e)
        {
            if (isMenuIn)
            {
                isMenuIn = false;
                MenuOut.Begin();
            }
            else
            {
                isMenuIn = true;
                MenuIn.Begin();
            }
        }
  
        private void StartSlideMenu(object sender, ManipulationStartedEventArgs e)
        {
            initialPoint.X = e.ManipulationOrigin.X;   
        }

        private void SlideMenuComplete(object sender, ManipulationCompletedEventArgs e)
        {
            var velocities = e.FinalVelocities;
            var lin = velocities.LinearVelocity;

            if (lin.X - initialPoint.X >= 750 && Math.Abs(lin.Y - initialPoint.Y) <= 50)
            {
                //Periksa apakah menu tertutup
                //jika iya, Swipe Kanan
                if (!isMenuIn)
                {
                    MenuIn.Begin();
                }
            }

            if (initialPoint.X - lin.X >= 750 && Math.Abs(lin.Y - initialPoint.Y) <= 50)
            {
                //Periksa apakah menu terbuka
                //jika iya, Swipe Kiri
                if (isMenuIn)
                {
                    MenuOut.Begin();
                }
            }
        }
    }
}

Oke, selamat. Anda sudah membuat Sliding Menu di Windows Phone menggunakan swipe gesture. :)




Wednesday, 11 June 2014

Windows Phone Tutorial - Perubahan Theme

Sudah banyak sekali aplikasi Windows Phone yang menyediakan fitur perubahan theme. Hal ini dilakukan untuk menyediakan pilihan tampilan yang dapat dinikmati lebih oleh pengguna ketika menggunakan aplikasi. Fitur ini biasanya disediakan di halaman pengaturan atau Settings. Tema yang sering disediakan biasanya Dark dan Light. Nah, sekarang bagaimana caranya agar aplikasi yang kita buat dapat menyediakan perubahan tema? Ternyata sudah ada library untuk mengimplementasikan hal ini, yaitu Phone Theme Manager.




Aplikasi IdWinPhone

Aplikasi OkeZone


  1. Buka/buat projek Windows Phone 8 kalian, kemudian pilih Tools > Library Package Manager > Package Manager Console.
  2. Ketikka Install-Package PhoneThemeManager, tunggu sampai download dan instalasi librarynya selesai.
  3. Jika sudah, ketikkan kodingan XAML berikut ke dalam ContentPanel kalian.
  4. <StackPanel Margin="0,10" HorizontalAlignment="Stretch">
    <TextBlock Text="Testing" FontSize="30"/>
    <TextBlock Text="Sub testing" FontSize="15"/>
    <Button Content="white" Click="WhiteTheme_Click"/>
    <Button Content="black" Click="BlackTheme_Click"/>
    </StackPanel>
  5. Lalu ketikkan kodingan berikut di dalam code-behind halaman kalian
  6. private void WhiteTheme_Click(object sender, RoutedEventArgs e)
    {
    ThemeManager.ToLightTheme();
    }

    private void BlackTheme_Click(object sender, RoutedEventArgs e)
    {
    ThemeManager.ToDarkTheme();
    }


Oke, silahkan jalankan aplikasi kalian dan lihatlah hasilnya :)


Dark Theme

Light Theme

Dark Theme

Light Theme

Gampang kan bikin pengaturan perubahan tema? :) Happy coding gans..


Saturday, 7 June 2014

Windows Phone Tutorial - Membuat Sliding Menu (3) - Membuat Menu Bergeser

Ketika kita sudah memiliki animasi slide in dan slide out (jika Anda belum tahu caranya bagaimana, lihat di sini). Nah sekarang kita akan membuat code-behind-nya. Silahkan masukkan kodingan ini di file .cs halaman aplikasi Windows Phone kalian.



public partial class MainPage : PhoneApplicationPage
    {

        bool isMenuIn = false;

        // Constructor
        public MainPage()
        {
            InitializeComponent();
            MenuIn.Completed += MenuIn_Completed;
            MenuOut.Completed += MenuOut_Completed;
        }

        void MenuOut_Completed(object sender, EventArgs e)
        {
            isMenuIn = false;
        }

        void MenuIn_Completed(object sender, EventArgs e)
        {
            isMenuIn = true;
        }

        private void Click_Menu(object sender, RoutedEventArgs e)
        {
            //Memastikan tidak menjalankan animasi 
            //ketika sudah ada animasi yang sedang berjalan
            if (isMenuIn)
            {
                isMenuIn = false;
                MenuOut.Begin();
            }
            else
            {
                isMenuIn = true;
                MenuIn.Begin();
            }
        }

    }

Jangan lupa untuk memasukkan property Click="Click_Menu" pada Button di tampilan utama kita. Kodingan XAML kalian nantinya akan menjadi seperti ini.

<Grid x:Name="LayoutRoot" Background="Transparent" ManipulationDelta="SlideMenu" ManipulationStarted="StartSlideMenu" ManipulationCompleted="SlideMenuComplete">
        <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="MY APPLICATION" Style="{StaticResource PhoneTextNormalStyle}"/>
            <TextBlock x:Name="PageTitle" Text="page name" 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">
         <Button Content="Button" HorizontalAlignment="Left" Height="106" Margin="50,180,0,0" VerticalAlignment="Top" Width="396"  Click="Click_Menu"   /></Grid>
        <Grid x:Name="slideMenu" HorizontalAlignment="Left" Height="768" Margin="-362,0,0,0" Grid.RowSpan="2" VerticalAlignment="Top" Width="369" Background="#FF830101" RenderTransformOrigin="0.5,0.5">
         <Grid.RenderTransform>
          <CompositeTransform/>
         </Grid.RenderTransform>
         <StackPanel HorizontalAlignment="Left" Height="748" Margin="10,10,0,0" VerticalAlignment="Top" Width="349">
          <TextBlock HorizontalAlignment="Left" Height="58" TextWrapping="Wrap" Text="Teks1 " VerticalAlignment="Top" Width="306"/>
          <TextBlock HorizontalAlignment="Left" Height="74" TextWrapping="Wrap" Text="Teks 2" Width="306"/>
          <Button Content="Button 1" HorizontalAlignment="Left" Height="96" Margin="10,0,0,0" Width="296"/>
         </StackPanel>
        </Grid>
    </Grid>
 
Oke, sudah jadi deh, silahkan cek Slide Menu yang sudah kalian buat :)
Next post...






Tuesday, 27 May 2014

Windows Phone Tutorial - Membuat Sliding Menu (2) - Animasi Slide In dan Slide Out

Oke, selamat datang di tutorial kedua dari Membuat Sliding Menu di Windows Phone. Kali ini kita akan fokus pada pembuatan animasi Slide In dan Slide Out menu geser kita. Untuk toturial ini disarankan Anda membaca dan mengikuti langkah-langkah yang sudah saya jelaskan di bagian pertama. Kalau Anda tidak keberatan baca langkah-langkah di bawah ini, tidak masalah, terserah Anda.



Untuk bagian kedua dari tutorial ini, saya akan menggunakan Blend for Visual Studio 2012.  Bagi Anda yang belum familiar dengan tools ini, singkat kata tools ini merupakan tools yang disarankan bagi designer untuk mendesain aplikasi Windows Phone atau Windows 8.

Pertama-tama, di Visual Studio 2012, bukalah aplikasi yang sudah Anda buat dari tutorial pertama.

Kemudian klik kanan Solution kalian di Solution Explorer dan klik Open in Blend (atau bisa saja langsung buka Blend 2012 dan buka projek kalian). Aplikasi kalian akan terbuka di Blend for Visual Studio.

Ketikkan kodingan XAML ini sesudah akhir pembukaan tag phone:PhoneApplicationPage dan sebelum grid LayoutRoot.

<phone:PhoneApplicationPage.Resources>
  <Storyboard x:Name="MenuIn">
            <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateX)" Storyboard.TargetName="slideMenu">
    <EasingDoubleKeyFrame KeyTime="0" Value="0"/>
    <EasingDoubleKeyFrame KeyTime="0:0:0.5" Value="364"/>
   </DoubleAnimationUsingKeyFrames>
  </Storyboard>
  <Storyboard x:Name="MenuOut">
            <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateX)" Storyboard.TargetName="slideMenu">
    <SplineDoubleKeyFrame KeyTime="0" Value="364"/>
    <EasingDoubleKeyFrame KeyTime="0:0:0.5" Value="0"/>
   </DoubleAnimationUsingKeyFrames>
  </Storyboard>
 </phone:PhoneApplicationPage.Resources>

Dan sudah deh, ini kalian sudah membuat animasi slide in dan out dari slide menu. Silahkan tunggu postingan berikutnya ya gans :)






Monday, 26 May 2014

Windows Phone Tutorial - Membuat Halaman Aplikasi Menjadi Layar Penuh (Fullscreen)

Hai semua, balik lagi dengan postingan seputar Windows Phone Development. Kali ini saya ingin bahas tentang bagaimana membuat aplikasi Windows Phone kita menjadi Fullscreen (layar penuh). Misalkan kalian sudah bikin layout aplikasi kalian, tapi kalian melihat suatu space yang termakan untuk bar sinyal, baterai device, dst dari Windows Phone. Space ini disebut dengan System Tray.

System Tray
System Tray

Nah, sekarang bagaimana cara menghilangkan System Tray ini? Pertama, kalian bisa ubah kodingan XAML property shell:SystemTray.IsVisible dari tag phone:PhoneApplicationPage. Jadinya seperti ini:

<phone:PhoneApplicationPage
 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="800"
 x:Class="FulllScreenModule.MainPage"
 FontFamily="{StaticResource PhoneFontFamilyNormal}"
 FontSize="{StaticResource PhoneFontSizeNormal}"
 Foreground="{StaticResource PhoneForegroundBrush}"
 SupportedOrientations="Portrait" Orientation="Portrait"
 shell:SystemTray.IsVisible="False">

Atau bisa juga kalian kasih di source code-behind halamannya, misalnya seperti ini:

using Microsoft.Phone.Shell;

...

public MainPage()
        {
            InitializeComponent();
   SystemTray.IsVisible = false;
        }


System Tray Invisible
System Tray Invisible


Okeh, sudah deh, semoga bermanfaat ya :)


Thursday, 22 May 2014

Android Tutorial - Membuat Chart Menggunakan AChartEngine

Salah satu fitur yang penting dan populer dalam aplikasi mobile adalah visualisasi data. Data dapat divisualisasikan dalam berbagai caranya, salah satunya adalah menggunakan chart. Kali ini saya ingin berbagi bagaimana caranya membuat chart, khususnya line chart menggunakan library AChartEngine. Library ini dapat di unduh dan digunakan secara gratis (open source) di sini.


  1. Buat projek baru.
  2. Copy library AChartEngine yang sudah di unduh dan paste di folder libs projek kalian.
  3. Pada layout yang ingin kalian beri chart (nama layout saya: activity_chart.xml), buat kode xml-nya menjadi seperti ini. Di sini saya buat chartnya berukuran satu layar penuh.
  4. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:paddingBottom="@dimen/activity_vertical_margin"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        tools:context=".ChartActivity"
        android:id="@+id/layout"
        android:orientation="vertical"
        android:background="#fff" >
    
    
    </LinearLayout>
  5. Pada kodingan activity kalian (nama activity saya: ChartActivity.java), buat kode java-nya menjadi seperti ini.
  6. package com.example.linechartmodule;
    
    import org.achartengine.ChartFactory;
    import org.achartengine.GraphicalView;
    import org.achartengine.chart.PointStyle;
    import org.achartengine.model.SeriesSelection;
    import org.achartengine.model.XYMultipleSeriesDataset;
    import org.achartengine.model.XYSeries;
    import org.achartengine.renderer.XYMultipleSeriesRenderer;
    import org.achartengine.renderer.XYSeriesRenderer;
    import org.achartengine.tools.ZoomEvent;
    import org.achartengine.tools.ZoomListener;
    
    import android.app.Activity;
    import android.graphics.Color;
    import android.graphics.Paint.Align;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.LinearLayout;
    import android.widget.Toast;
    
    public class ChartActivity extends Activity {
    
     private GraphicalView mChart;
    
    
      @Override
         protected void onCreate(Bundle savedInstanceState) {
             super.onCreate(savedInstanceState);
             setContentView(R.layout.activity_chart);
            
             OpenChart();
         }
        
      private void OpenChart()
         {
          //Definisikan nilai-nilai yang ingin
       //divisualisasikan ke dalam chart
           int x[]={10,18,32,21,48,60,53,80,18,32,21,48,60,53,
             80,18,32,21,48,60,53,8,8,3,2,4,6,3,0,1,3,2,4,6};
          
    
           // Create XY Series for X Series.
          XYSeries xSeries=new XYSeries("X Series");
          
    
          //  Adding data to the X Series.
          for(int i=0;i<x.length;i++)
          {
           xSeries.add(i,x[i]);
          }
    
             // Create a Dataset to hold the XSeries.
          
          XYMultipleSeriesDataset dataset=new XYMultipleSeriesDataset();
          
           // Add X series to the Dataset.   
          dataset.addSeries(xSeries);
          
          
           // Create XYSeriesRenderer to customize XSeries
    
          XYSeriesRenderer Xrenderer=new XYSeriesRenderer();
          Xrenderer.setColor(Color.GREEN);
          Xrenderer.setPointStyle(PointStyle.DIAMOND);
          Xrenderer.setDisplayChartValues(true);
          Xrenderer.setLineWidth(2);
          Xrenderer.setFillPoints(true);
          
          
          // Create XYMultipleSeriesRenderer to customize the whole chart
    
          final XYMultipleSeriesRenderer mRenderer=new XYMultipleSeriesRenderer();
          
          mRenderer.setChartTitle("Judul/Nama Chart");
          mRenderer.setXTitle("X Values");
          mRenderer.setYTitle("Y Values");
          
          //Tambahkan tombol Zoom
          mRenderer.setZoomButtonsVisible(true);
          
          //Kita set 0 agar kita bisa membuat label kita sendiri
          mRenderer.setXLabels(0);
          
          //Agar chart bisa kita geser, kita aktifkan pan
          mRenderer.setPanEnabled(true);
          
          //Jika kita ingin membatasi user menggeser dari koodinat mana sampai mana,
          //kita set panlimit(xMinPanCoor, xMaxPanCoor, yMinPanCoor, yMaxPanCoor)
          mRenderer.setPanLimits(new double[] {0,100,-100,100});
          
          //Agar chart bisa kita zoom, kita aktifkan zoom
          mRenderer.setZoomEnabled(true);
          
          //Kita set biar ada grid yang tampak
          mRenderer.setShowGrid(true);
          
          //Set warna chart, label, axis
          mRenderer.setApplyBackgroundColor(true);
          mRenderer.setBackgroundColor(Color.WHITE);
          mRenderer.setMarginsColor(Color.WHITE);
          mRenderer.setAxesColor(Color.BLACK);
          mRenderer.setLabelsColor(Color.BLACK);
          mRenderer.setXLabelsColor(Color.BLACK);
          mRenderer.setYLabelsColor(0, Color.BLACK);
          
          mRenderer.setXLabelsAlign(Align.CENTER);
          
          mRenderer.setClickEnabled(true);
         
          //Jika kita ingin label hanya ada pada range/nilai tertentu
          //Disini saya set label hanya ada setiap tiga nilai value dalam chart
          for(int i=0;i<x.length;i++)
          {
           if (i%3 == 0)
            {
             mRenderer.addXTextLabel(i, "text"); //label bisa angka, bisa text juga
            }
          }
          
            // Adding the XSeriesRenderer to the MultipleRenderer. 
          mRenderer.addSeriesRenderer(Xrenderer);
       
          
          LinearLayout chart_container=(LinearLayout)findViewById(R.id.layout);
    
        // Creating an intent to plot line chart using dataset and multipleRenderer
          
          mChart=(GraphicalView)ChartFactory.getLineChartView(getBaseContext(), dataset, mRenderer);
          mChart.setBackgroundColor(Color.WHITE);
          
          //Di sini kita buat jika user mengklik suatu nilai values dalam chart,
          //akan nampil Toast nilai yang diklik user
    
          mChart.setOnClickListener(new View.OnClickListener() {
        
        @Override
        public void onClick(View arg0) {
         // TODO Auto-generated method stub
         
         SeriesSelection series_selection=mChart.getCurrentSeriesAndPoint();
         
         if(series_selection!=null)
         {
          int series_index=series_selection.getSeriesIndex();
          
          String select_series="X Series";
          if(series_index==0)
          {
           select_series="X Series";
          }else
          {
           select_series="Y Series";
          }
          
          //String month=mMonth[(int)series_selection.getXValue()];
          
          int amount=(int)series_selection.getValue();
          
          Toast.makeText(getBaseContext(), select_series+"in: "+amount, Toast.LENGTH_LONG).show();
         }
        }
       });
          
    
     // Masukkan chart ke dalam linear layout yang sudah dibuat
          chart_container.addView(mChart);
          
          
         }
    
     }
    
Sudah deh, hanya sampai sini doang ko, gampang bukan? :)

Hasilnya nanti akan seperti ini

Line Chart dengan AChartEngine
Line Chart

Zoom In Line Chart dengan AChartEngine
Zoom In

Zoom Out Line Chart dengan AChartEngine
Zoom Out

Salam Terraligno


Monday, 19 May 2014

Android Tutorial - Cara Mendapatkan MD5 Fingerprint Aplikasi Android Kita

Halo semuanya, kali ini saya ingin membahas tentang cara gampang mendapatkan MD5 Fingerprint aplikasi Android kita. Untuk apa kita membutuhkan MD5 Fingerprint? Salah satu alasan yang bagus mengapa kita harus mengetahui data ini adalah untuk mendapatkan API Key Google Maps.


Oke, langsung saja kita mulai.

Ada beberapa orang yang mengklaim cara untuk mendapatkan MD5 Fingerprint ini cukup dengan
pergi ke Window - Preferences - Android - Build. Dan simsalabim dapat yang seperti ini nih gan

MD5 Fingerprint
MD5 Fingerprint
Sumber 
Tetapi kalau Anda bernasib sama seperti saya, kalian akan melihat jendela Preferences - Android - Build kalian akan seperti ini...

Preferences
Preferences
Jangan nanya mengapa malah hasilnya seperti ini *kayaknya sih beda versi SDK  gan*

Alternatifnya apa? Kalian bisa saja buka cmd dan ngetik-ngetik beberapa keyword seperti yang dijelaskan di sini. Tapi karena saya malas buka CMD setiap kali saya ingin tahu MD5 fingerprint aplikasi saya, saya coba cari solusi laen.

Alhamdulillah sih dari tutorial ini saya dapat pencerahan. Caranya gini gan (bagi kalian yang tidak mau repot-repot baca bahasa inggris)
  1. Buka Help - Install New Software - Work with: http://keytool.sourceforge.net/update, tunggu sampai Eclipse terhubung dengan URL tsb, kemudian centang Keytool, klik Next/Finish sampai semua proses selesai. Jika kalian ditanyakan apakah anda percaya dengan konten dari URL tsb, klik Yes atau semacamnya saja.
  2.  
    Note: Ini akan secara otomatis akan mengupdate Eclipse kalian ke versi 21.1, dan Android SDK platofrm-tools kalian menjadi 16.0.2
  3. Tunggu sampai semua proses selesai dikerjakan. Jika sudah, restart lah Eclipse kalian.
  4. Kalian harus membuat keystore terlebih dahulu. Caranya klik menu Keytool - Create New Certificate, kemudian isi isiannya. Jika sudah tekan Finish.
  5. Klik menu Keytool - Open Keystore -  Cari keystore yang sudah kalian buat barusan dan masukkan password yang tadi kalian berikan. Nanti akan muncul jendela baru, tinggal kalian klik, daaaaaaaaaaan....
MD5 Signature
MD5 Signature
Sudah dehh, lebih gampang seperti ini kan? :) Happy coding everyone :)


Wednesday, 7 May 2014

Windows Phone Tutorial - Membuat Sliding Menu (1) - Layout Aplikasi

Oke, ini bagian pertama dari tutorial bagaimana cara membuat Sliding Menu di Windows Phone. Karena ini bagian pertama, jadi dimulai saja dengan yang gampang-gampang saja. Di sini kita akan membuat Layout Sliding Menu yang akan bekerja jika user memencet suatu tombol. Atau bisa juga dengan gesture swipe.


Nah, pertama-tama buka Visual Studio kalian dan buatlah suatu projek Windows Phone 8, terserah namanya apa.

Setelah itu, ketikkan kode xaml ini di MainPage.xaml

<!--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="MY APPLICATION" Style="{StaticResource PhoneTextNormalStyle}"/>
            <TextBlock x:Name="PageTitle" Text="page name" 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">
         <Button Content="Button" HorizontalAlignment="Left" Height="106" Margin="50,180,0,0" VerticalAlignment="Top" Width="396" Click="Click_MenuIn"/></Grid>
        <Grid x:Name="slideMenu" HorizontalAlignment="Left" Height="768" Margin="-362,0,0,0" Grid.RowSpan="2" VerticalAlignment="Top" Width="369" Background="#FF830101" RenderTransformOrigin="0.5,0.5">
         <Grid.RenderTransform>
          <CompositeTransform/>
         </Grid.RenderTransform>
         <StackPanel HorizontalAlignment="Left" Height="748" Margin="10,10,0,0" VerticalAlignment="Top" Width="349">
          <TextBlock HorizontalAlignment="Left" Height="58" TextWrapping="Wrap" Text="Teks1 " VerticalAlignment="Top" Width="306"/>
          <TextBlock HorizontalAlignment="Left" Height="74" TextWrapping="Wrap" Text="Teks 2" Width="306"/>
          <Button Content="Button 1" HorizontalAlignment="Left" Height="96" Margin="10,0,0,0" Width="296"/>
         </StackPanel>
        </Grid>
    </Grid>
 

Nanti kalian hasilnya akan seperti ini.


Kemudian jika Anda memiliki Expression Blend 2012, langkah berikutnya adalah membuat animasi SlideIn dan SlideOut (terserah kalian namanya apa, kalau saya sih ini). Kalau tidak ada, tidak apa-apa juga, tapi masalahnya kalian harus menulis kodingan XAML untuk animasi tersebut secara manual. Ini akan saya bahas di postingan saya yang berikutnya ;)






Tuesday, 6 May 2014

Windows Phone Tutorial - Membuat Sliding Menu

Anda mungkin sudah melihat postingan yang sama, tapi mengenai Android di halaman blog saya  yang satu ini. Nah, postingan ini sebenarnya sama, namun ada yang beda.

Anda pasti sudah menebaknya, yaitu postingan ini lebih ke Windows Phone. :)

Ceritanya karena saya lagi semangat nulis tentang pemrograman Windows Phone menggunakan C#/XAML, ya jadi saya mulai bikin postingan duluan tentang WP dehh hehehe :P

Postingan ini karena lumayan panjang jadi saya bagi-bagi menjadi beberapa bab, yaitu:
1. Pembuatan layout Slide Menu, di sini,
2. Pembuatan animasi Slide In dan Slide Out, di sini,
3. Membuat menu bergeser, di sini,
4. Menimplementasikan Swipe Gesture, di sini.

Silahkan lanjut ke postingan berikutnya ya gan :)



Saturday, 15 March 2014

Android Tutorial - Menambah Fitur Share pada ActionBar

Halo semua, kali ini saya ingin kembali berbagi mengenai Android development. Sebagaimana yang kita ketahui, kan sudah banyak ya, aplikasi yang menyediakan fitur share content. Nah kali ini, saya ingin berbagi bagaimana caranya kita dapat mengimplementasikan fitur sharing di ActionBar aplikasi kita. Kurang lebih mirip-mirip seperti ini lah hasilnya.

Sharing pada ActionBar
Sharing pada ActionBar
Sumber Gambar
Ok langsung saja kita mulai.

1. Buka Eclipse atau ADT kalian dan buatlah projek baru. Pastikan Minimum SDK-nya 14 (IceCream Sandwich) ya..

2. Pada fail res > menu > main.xml, ubah isinya menjadi seperti kodingan di bawah ini

<menu xmlns:android="http://schemas.android.com/apk/res/android" >

<item
android:id="@+id/action_share"
android:orderInCategory="100"
android:showAsAction="ifRoom"
android:actionProviderClass="android.widget.ShareActionProvider"/>

</menu>

Ini adalah konfigurasi untuk menampilkan Intent untuk sharing. Kalian tidak perlu memikirkan kemana saja aplikasi kalian akan mengirimkan konten yang akan di-share, ShareActionProvider yang akan mengurus hal tersebut, dengan kata lain: otomatis gan. Kemudian penjelasan atribut showAsAction yang gampangnya seperti ini, dia akan tampil pada action bar jika ada ruang/space yang cukup untuknya.

3. Pada MainActivity.java ubahlah kodingan di dalam fungsi onCreateOptionsMenu menjadi sebagai berikut:

// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);

MenuItem shareItem = (MenuItem)menu.findItem(R.id.action_share);

ShareActionProvider mShare = (ShareActionProvider)shareItem.getActionProvider();

Intent shareIntent = new Intent(Intent.ACTION_SEND);
shareIntent.setAction(Intent.ACTION_SEND);
shareIntent.setType("text/plain");
shareIntent.putExtra(Intent.EXTRA_TEXT, "Text to Share");

mShare.setShareIntent(shareIntent);


return true;

Ok, yang kita lakukan di sini adalah membuat suatu Intent yang akan melakukan aksi mengirim (ACTION_SEND) suatu konten bertipe text/plain. Dan di kodingan atas, kita tambahkan suatu text berisi "Text to Share" yang merupakan konten yang akan kita kirim. Setelah itu kita serahkan pada ShareActionProvider untuk mengirimkan konten tersebut melalui salah satu dari berbagai aplikasi-aplikasi yang dapat digunakan untuk share konten.

Ketika kalian jalankan aplikasi kalian, hasilnya akan seperti ini..


Contoh Share pada Action Bar
Contoh Share pada Action Bar


Contoh Share pada Action Bar dengan aplikasi Messaging
Contoh Share pada Action Bar
dengan aplikasi Messaging

Ok, sampai situ saja dulu ya, semoga ini bermanfaat :)

Wednesday, 25 December 2013

GIMP Tutorial - Membuat Islamic Background Tile

Postingan kali ini saya ingin share sesuatu yang sangat sederhana dan gampang. Kita akan membuat background tile yang islamic menggunakan GIMP. Contohnya seperti gambar-gambar di bawah ini.. :)


islamic tile background example

islamic tile background example

Ikuti saja langkah-langkah di bawah ini gan :)

  1. Klik File - New.
  2. Ukurannya terserah berapa, tapi usahakan kurang dari 512x512px, klw tidak langkah-langkah berikutnya tidak bisa dijalankan. Di contoh ini saya menggunakan ukuran 500x500.
  3. Masukkan gambar islamic, terserah seperti apa. Kalau saya seperti gambar di bawah ini
  4. Membuat Tiled Background
  5. Langkah berikutnya adalah klik Filter - Map - Make Seamless. Hasilnya adalah sebagai berikut
  6. Membuat Tiled Background 2
  7. Pilih gambar kita dengan Ctrl+A dan copy ke clipboard (Ctrl+C), kemudia buat gambar baru dengan ukuran yang berbeda, kalau saya 1333x768.
  8. Pilih Bucket Fill Tool.
  9. Set Fill Type-nya Pattern fill.
  10. Kemuda klik icon pada di bawah check box Pattern fill, dan pilih gambar yang pertama
  11. Pattern fill
  12. Kemudian klik pada gambar baru kalian. Hasilnya adalah sebagai berikut.:)
Membuat Tiled Background 3


Gimana gampang kan? Tinggal warna background dan warna tile-nya diganti sesuai dengan selera kalian :). Kalau saya hasil akhir setelah improfisasi seperti ini..

Islamic Tiled Background

Note: Biar lebih enak, ketika kita membuat gambar tile (tahap 3 dan 4), buat backgroundnya Transparent. :)






Wednesday, 10 July 2013

Windows Phone Tutorial - Membuat Horizontal Menu Seperti di Android

Terkadang ketika kita membuat aplikasi mobile, kita ingin meniru gaya design aplikasi mobile lain. Dalam postingan ini saya ingin share bagaimana caranya kita bisa membuat menu horizontal Android seperti di bawah ini. Caranya gampang ko, hanya menggunakan Data Binding. Ikuti saja ya. :)



Buka Visual Studio dan buat projek baru, namanya HorizontalMenu.
Pada Solution Explorer, buatlah suatu folder bernama Image, kemudian masukkan gambar ini, pastikan namanya tempIcon.png dan ukurannya 100x100 pas kalian masukkin ke dalam folder Image ya.

tempIcon.png

Pada LayoutRoot sampai ContentPanel, ubah kodingan XAML-nya menjadi seperti ini.






























Pada Solution Explorer, klik kanan pada projek kita, kemudian pilih Add - Class.. Beri nama ItemModel.cs
Kodingannya adalah sebagai berikut:

using System;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace HorizontalMenu
{
public class ItemModel
{
public string Nama { get; set; }
public string gambarImg { get; set; }
public string Desc { get; set; }
}
}

Tambahkan class baru bernama ItemViewModel.cs. Kodingannya adalah sebagai berikut:

using System;
using System.Collections.Generic;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
using System.Collections.ObjectModel;

namespace HorizontalMenu
{
public class ItemViewModel
{
public ObservableCollection item{get; set;}


public ItemViewModel()
{
// Insert code required on object creation below this point.
item = new ObservableCollection();
getItem();
}

private void getItem()
{
item.Add(new ItemModel { Nama = "temp1", gambarImg = "Image/tempIcon.png", Desc = "abcdefghi" });
item.Add(new ItemModel { Nama = "temp2", gambarImg = "Image/tempIcon.png", Desc = "abcdefghi2" });
item.Add(new ItemModel { Nama = "temp3", gambarImg = "Image/tempIcon.png", Desc = "abcdefghi3" });
item.Add(new ItemModel { Nama = "temp4", gambarImg = "Image/tempIcon.png", Desc = "abcdefghi4" });
item.Add(new ItemModel { Nama = "temp5", gambarImg = "Image/tempIcon.png", Desc = "abcdefghi5" });
item.Add(new ItemModel { Nama = "temp6", gambarImg = "Image/tempIcon.png", Desc = "abcdefghi" });
item.Add(new ItemModel { Nama = "temp7", gambarImg = "Image/tempIcon.png", Desc = "abcdefghi2" });
item.Add(new ItemModel { Nama = "temp8", gambarImg = "Image/tempIcon.png", Desc = "abcdefghi3" });
item.Add(new ItemModel { Nama = "temp9", gambarImg = "Image/tempIcon.png", Desc = "abcdefghi4" });
item.Add(new ItemModel { Nama = "temp10", gambarImg = "Image/tempIcon.png", Desc = "abcdefghi5" });
}
}
}

Kemudian pada MainPage.xaml.cs, masukkan kodingan berikut di dalam class MainPage

        public ItemViewModel avm;

public MainPage()
{
InitializeComponent();
avm = new ItemViewModel();
this.DataContext = avm;
}

private void changeItem(object sender, SelectionChangedEventArgs e)
{
ItemModel am = ((sender as ListBox).SelectedItem as ItemModel);
MessageBox.Show(am.Desc);
}

Tekan F5 untuk melihat hasilnya :)

Horizontal Menu
Dan kalau misalkan saya klik Item temp3, hasilnya adalah sebagai berikut.. :)

Hasil Item temp3 Click

Saturday, 13 April 2013

Windows Phone Tutorial - Page Navigation

Postingan ini sebenarnya sangat sederhana, tapi saya lagi semangat-semangatnya ngeblog, so here goes. :)
Ketika kita mengembangkan aplikasi mobile Windows Phone, entah itu versi 7, 7.5, 7.8, atau 8, tidak jarang ketika kita membutuhkan lebih dari satu halaman. Tujuan dari postingan ini adalah menjelaskan bagaimana melakukan navigasi antarhalaman pada Windows Phone.



  1. Yang pertama adalah kita bikin saja projek dummy yang bernama NavigasiHalaman
  2. Ubah property Text TextBlock PageTitle dari "page title" menjadi "Halaman Utama" (tidak mke kutip).
  3. Di dalam grid ContentPanel, sebelum kodingan </Grid>, tambahkan kodingan XAML berikut


  4. Sehingga secara lengkap kodingan Grid ContentPanel-nya menjadi seperti ini








  5. Nah, sekarang kita masuk ke bagian code-behind dari MainPage.xaml kita. Tekan saja F7.
  6. Di bawah kurung kurawal penutupnya c public MainPage, tambahkan kodingan ini



  7. private void nextPage(object sender, RoutedEventArgs e)
    {
    this.NavigationService.Navigate(new Uri("/SecondPage.xaml", UriKind.Relative));
    }

    Maksud kodingan diatas adalah, ketika Button kita tadi di-Click, maka fungsi diatas akan dijalankan. "Apa maksud kodingan diatas?". Maksudnya begini, c halaman MainPage itu sendiri (yaitu kita tunjuk menggunakan keyword this), menjalankan NavigationService dan dengan itu, dia akan me-Navigate ke Uri atau alamat yang kita tuju, dalam kasus ini halaman kedua, yang akan kita buat sebentar lagi. Bagian "/SecondPage.xaml" adalah alamat halaman yang ingin kita tuju. UriKind.Relative maksudnya alamat "/SecondPage.xaml" itu alamat yang masih relatif, karena sebenarnya di dalam Windows Phone-nya sendiri, belum tentu alamatnya seperti itu, makanya tipe Uri-nya Relative.


  8. Nah sekarang kita akan membuat halaman kedua.Klik kanan pada projevt kita di Solution Explorer - Add - Add New Item. Kemudian pilih Windows Phone Portrait Page. Beri nama SecondPage.xaml.




  9. Ubah property Text TextBlock PageTitle dari "page name" menjadi "Halaman 2" (tidak mke kutip).

Sekarang coba jalankan dengan menekan tombol F5. Lihatlah hasilnya. ;)

Mungkin itu saja dulu untuk postingan ini, terus belajar dan teruslah mengoprek gan :)


GIMP Tutorial - Membuat Background Sederhana

Kali ini saya ingin pstong tentang bagaimana cara membuat gambar background seperti ini dengan GIMP. Caranya cukup sederhana ko, sangat sederhana malah :)



Langsung saja ya, ikuti saja langkah-langkah berikut ini
  1. Buka GIMP kalian, kemudian pilih File - New - Width: 1400 px, Height: 800 px - OK.
  2. Pilih Bucket Fill Tool (yg ikonny ember lagi nuangin gtu), pastikan Foreground color-nya hitam. Kemudian kasih pada gambar kalian sehingga berwarna hitam semua.
  3. Klik Filters - Light and Shadow - Lens Flare - kemudian atur posisi chayanya sesuka kalian, kemudian klik OK.
  4. Lakukan hal yang sama dua kali lagi, dengan posisi masing-masing cahaya berbeda-beda. Agar lebih gampang, klik Filters - Reshow Lens Flare, maka DIMP akan langsung membuka jendela Lens Flare. Hasilnya adalah seperti ini.
  5. Kemudian pilih Filters - Light and Shadow - Gradient Flare - GFlare_102, posisinya kurang lebih di tengah gambar, tapi terserah kalian juga mau dimana. Kemudian klik OK
  6. Pilih Filters - Light and Shadow - Gradient Flare - GFlare_101, posisinya sedikit di bawah yg GFlare_102. Kemudian klik OK.
  7. Pilih Layer - New Layer. Tidak usah melakukan perubahan apa-apa, tapi pastikan Layer Fill Type-nya Transparency.
  8. Ubah Foreground Colornya sehingga memiliki notasi HTML 000080. Kemudian, dengan layer kedua kita terpilih, beri warna baru tersebut pada layer kita, sehingga berwarna biru tua.
  9. Setelah itu, set Mode Layer-nya menjadi Subtract.
  10. Setelah itu hasilnya akan seperti ini.

Gampang sekali bukan? :). Silahkan dicoba-coba lagi aja kalau masih ingin bereksperimen :D

Tip : Untuk mendesain, tidak perlu terlalu "technical", yang penting itu "sense of art" #ciaelah :)





Wednesday, 21 November 2012

Inkscape Tutorial - Membuat Gambar Kartun Ninja


Untuk membuat game yang seru, poster, animasi dan yang lain semacamnya, tentunya juga dibutuhkan design yang mantap. Untuk post kali ini, saya ingin menjelaskan bagaimana membuat suatu tokoh kartun ninja yang jahat. Dalam post ini saya akan menggunakan Inkscape, yaitu salah satu alternative dari CorelDraw yang dapat didownload secara gratis di sini. Ini adalah materi yang ane dapat dari link ini.
1. Buka Document Properties -> Shift+Ctrl+D.
2. Hilangkan centang pada Show page border untuk menghilangkan border halaman.
3. Buat suatu lingkaran dengan garis hitam, fill-ny no fill.
4. Buat ketebalan garisnya menjadi 8.
5. Buat sautu persegi dengan square tool (F4).
6. Buat perseginya menjadi mirip dengan oval dengan memanipulasi lingkaran yang ada pada gari bantu  perseginya.



7. Dengan select tool (F1), pilih lingkarannya.
8. Pilih Path -> Object to Path. Pilih path tool (F2) untuk melihat hasilnya.




10. Pilih Lingkaran dan persegi-nya dan beri Fill warna hitam untuk kedua-duanya.
11. Pilih Ractangle tool (F4) dan buat tangan kanan ninja kita. Silahkan sesuaikan tingkat oval perseginya seperti apa.
12. Klik kiri pada tangan kanannya agar dapat melakukan rotasi pada tangan ninja kita.



13. Duplikasikan tangan kanan tengan shortcut Ctrl+D.
14. Buat rotasi dan atur kembali tingkat oval-nya jika diperlukan.
15. Dengan bentuk persegi, buatlah kaki-kaki kecilnya.
16. Buat suatu oval dengan menggunakan lingkaran dan beri warna fill sesuai dengan warna kulit.
17. Pilih Path -> Object to Path. Pilih path tool (F2) kemudian bikinlah bentuk topeng/maskerny sesuai dengan keinginan Anda.
18. Bila kekurangan node, tekan tombol insert new node.



19. Menggunakan lingkaran, buatlah kedua bola matanya, untuk stroke beri warna abu-abu, untuk fill beri warna hitam. Terserah kalau ingin diberi warna yang berbeda. :)




20. Untuk membuat sabuknya, pilih Bezier tool (Shift+F6). Tentukan koordinat node-nodenya. Tambahkan bila perlu node-node baru.



21. Untuk membuat ikat kepala, gunakanlah Bezier Tool, beri tiga node. Gunakan Ctrl+C kemudian drag salah satu node agar terlihat node handler masing-masing node. Sesuaikanlah bentuk ikat kepala dengan keinginan kalian mau seperti apa. :)
22. Tekan Ctrl+A untuk memilih semua objek, kemudian tekan Ctrl+G atau pilih Object->Group untuk menjadikan semua objek menjadi satu objek.

Hasil akhirnya adalah seperti pada gambar di bawah ini.

Semoga postingan ini bermanfaat. Teruslah berlatih, berkarya, dan tentunya berbagi ya.. ;)