Random

6 alasan untuk menggunakan Xamarin

Xamarin
Hey Gwener's, What's Up!
Sobat sudah mengetahui tentang xamarin? Ya, software yang satu ini berguna untuk membuat aplikasi lintas platform dengan menggunakan C#.Net. Nah, salah satu manfaatnya adalah membuat aplikasi android seperti yang telah saya ulas sebelumnya Cara membuat aplikasi android dengan .net framework. Xamarin memungkin .Net developer untuk membuat aplikasi mobile untuk berbagai macam gadget.
Untuk mengenal lebih jauh tentang Xamarin ini, saya akan memberikan beberapa alasan sesuai dengan judul artikel ini. Mengapa sobat harus menggunakan Xamarin ini untuk membuat aplikasi gadget lintas platform. Berikut selengkapnya.

6 Alasan menggunakan xamarin

Seperti yang dilansir pada halaman web xamarin ini beberapa alasan mengapa menggunaka xamarin
  1. Cross Platform Developement
    Perkembangan teknologi saat ini memungkinkan developer untuk saling berinteraksi secara lintas platform. Artinya tidak lagi ada dominan atar platform yang satu dengan yang lain. Seperti java atau pun .Net, bisa dikombinasi untuk menghasilkan suatu aplikasi. Xamarin mewujudkan hal ini. Dengan berbagai macam platform mobile, kini bisa dibangun diatas C# .Net.
    Hal ini tentu menjadi kabar gembira bagi developer .Net. Karena tidak perlu belajar memahami bahasa java lagi atau untuk OS Apple sekalipun. Dengan Tools ini semua bisa dikonver dari C# .Net
  2. Reuse Existing Code
    Ini tentu hampir sama dengan kelebihan .Net, yakni menggunakan class library. Ya, Xamarin pun menyediakan hal tersebut. Sobat bisa membuat sebuah project class library yang bisa digunakan kembali. Bahkan untuk lintas platform sekalipun. Sehingga sobat tidak perlu convert satu sama lain. Semua tetap menggunakan C# .Net
  3. Easy to install
    Hal yang paling dibenci semua orang adalah ketika sulit atau tidak memahami bagaiman menggunakan atau menginstall aplikasi. Apalagi ini berupa aplikasi yang mesti dikovert ke OS lain. Namun xamarin memberikan kemudahan untuk melakukan installasi aplikasi yang telah dibuat. Semua akan dikonvert sesuai dengan tujuan platform yang sobat inginkan
  4. Integrate with Visual Studio
    Jika berbicara .Net, Visual studio bukan hal yang asing. Bahkan dibutuhkan untuk proses development. Semua code berawal dari visual Studio. Oleh karena itu, xamarin pun menyediakan plugin yang bisa digunakan pada visual studio. Namun xamarin pun tak mau ketinggalan soal IDE, mereka juga menyediakan editor sendiri yang dinamakan Xamarin Studio.
  5. Full Featured
    Dengan fitur lengkap tentu aplikasi bisa berjalan dengan baik mulai pada tahap development, testing sampai ke tahap publish. Xamarin juga menggunakan emulator yang sesuai dengan platform yang digunakan. Seperti android maupun untuk apple sendiri.
  6. Dicover Any Type
    Sama halnya dengan .Net, semua tipe class yang telah dibuat bisa dilihat secara visual. apapun tipe yang digunakan secara lengkap dapat dilihat

Inilah beberapa alasannya, xamarin memang bukan produk yang gratis. Memang membutuhkan biaya untuk membeli lisensi. Namun demikian keuntungan jika bisa berhasil membuat aplikasi mobile akan jauh lebih besar. Sehingga tidak ada ruginya untuk mencoba layanan ini. Jika sobat membuat ini secara individual mungkin sobat memerlukan beberapa informasi bagaimana menjalankan proses development yang benar. Berikut artikel yang sesuai 4 Elemen untuk mempermudah proses development untuk individual
8:00 AM Read more »
Cara membuat aplikasi android dengan .net framework

Android Aplication/figcaption>
Hey Gwener's, What's Up!
Gadget dan Smartphone android saat ini sangat digandrungi oleh hampir seluruh masyarat dunia. Di indonesia saja hampir semua kaula muda sudah memiliki perangkat mobile dengan OS android. Banyaknya pengguna android tak luput dari perhatian para developer, banyak yang beralih profesi demi untuk mengembangkan aplikasi dengan OS ini. Bagaimana tidak, peluang membuat aplikasi android sangat besar.
Pernah sobat mendengar atau bankan mengalami sendiri dari pengaruh perkembangan gadget Android ini. Saya sedikit berikan ulasan mengapa begitu banyak potensi keuntungan dari OS ini. Android adalah OS yang khusus digunakan untuk khusus mobile. Kebanyakan Gadget dengan OS ini digunakan untuk menghibur diri dengan memainkan game. Pengguna ini sangat banyak sekali. Google pun tak ingin kecolongan. Sebagai raksasa periklanan (Google Adsense). Kini google pun meluncurkan versi Ads For Mobile. Iklan ini bisa disematkan pada aplikasi yang dibangun diatas OS ini. Coba sobat banyakan berapa banyak aplikasi dan penggunnya. Keuntungan dari periklanan ini tentu sangat besar. Inilah peran developer untuk membuat inovasi dan kreatifitas pada aplikasi maupun game yang dibuat.

Sobat familiar dengan .Net Framework? tentu akan sulit membuat aplikasi android karena OS ini dibangun diatas java. Namun teknologi saat ini memungkinkan developer untuk berinteraksi lintas platform. Artinya sebuah aplikasi bisa dibuat dengan berbagai macam framework ataupun style code yang berbeda-beda. Hal ini pun bisa sobat terapkan pada OS android ini.
Kini Aplikasi Android bisa sobat bangun menggunakan .Net Framework. Tentu sebagai penjembatannya membutuhkan tools dan library sebagai konverter yang akan menjadikan code c# menjadi Aplikasi android yang kita inginkan. Apa tools yang bisa sobat gunakan? Mono-project. Ya, salah satu produk dari mono project ini adalah Xamarin. tepatnya Xamarin.Android.
Xamarin android adalah fitur cross platfrom yang dibuat khusus untuk developer .Net framework. Nah penasaran dengan Xamarin androind ini. Sobat bisa langsung mencobanya dengan mendownload terlebih dahulu di http://xamarin.com/android. Salah satu uniknya adalah xamarin bisa dibuat menggunakan visual studio bahkan xamarin menyediakan IDE sendiri yang dinamaakan Xamarin Studio. Semua dibangun diatas C# .Net, jadi kalau sobat ingin mencoba membangun aplikasi andorid tidak ada salahnya memanfaatkan software ini.

Nah, jika berbicara tentang coding apalagi jika dikerjakan secara team tentu ada baiknya menggunakan source control. Saya punya informasi yang tepat jika sobat membutuhkan source control berikut pilihannya 3 Source Control online gratis untuk developer (Cloud Project). Source control ini online dan gratis bisa diakses dari manapun. Selain itu juga bisa diintegrasikan dengan team member
Namun karena saat ini kita sendan berbicara tentang .net, Maka source control yang paling cocok adalah TFS (Team foundation server). Memang untuk TFS membutuhkan server tersendiri, tapi sobat tidak perlu khwatir visual studio sudah menyediakan TFS online yang bisa diakses menggunakan microsoft account dari mana saja. Gratis!, Mau mencoba silah baca disini Cara menggunakan Team Foundation Server (TFS) pada Visual Studio Online

Perlu saya informasikan lagi bahwa membuat aplikasi android ini tidak harus memiliki nama perusahaan sendiri. Secara individual sobat sudah bisa menerapkannya. Karena yang dibutuhkan hanya pengetahuan tentang coding. Mungkin perkaranya hanya pada masalah finansial, membuat aplikasi memang memerlukan dana. Seperti software Xamarin itu memerlukan budget untuk memiliki lisensinya, kemudian menjadi developer andorid juga butuh dana belum selama proses development. Tentu banyak persoalan finansial yang perlu dipersiapkan. Namun demikian keuntungan yang bisa sobat dapatkan sebenarnya jauh lebih besar. Sehingga hal seperti ini memang perlu sedikit pengorbanan. Nah, untuk sobat yang ingin memulai secara individual perlu memahami dahulu apa saja yang perlu dipersiap. Berikut ulasannya 4 Elemen untuk mempermudah proses development untuk individual
8:00 AM Read more »
4 Elemen untuk mempermudah proses development untuk individual

Elemen developement
Hey Gwener's, What's Up!
Sobat seorang developer? sudah pernahkah menjadi freelance ataupun pekerjaan sampingan yang masih berkaitan dengan developer?. Ya, Sebagaian besar developer pasti pernah melakukan hal sampingan ini. Mungkin iseng ataupun karena kebutuhan yang mengharuskan mencari sampingan. Namun menjadi seorang freelance atau memiliki project sampingan tentu akan memiliki kendala dalam proses development. Terutama jika menggunakan produk microsoft, yakni .Net framework.
.Net Frameworkf di indonesia sendiri sudah berkembang dengan pesat banyak perusahaan IT konsultan yang muncul. Namun perlu diketahui untuk proses development project .net ini terkadang memerlukan budget yang tidak sedikit. Sehingga sebagai pekerjaan sampingan ini akan menyulitkan seorang developer. Nah, jika sobat sekarang melakukan hal tersebut, apa yang persoalan yang sedang sobat alami? mungkin dari sisi server developemt. Kali ini saya akan ulas elemen penting dalam proses developemen. Namun saya memberikan rekomendasi untuk freelance ataupun project sampingan yang tidak memerlukan biaya bahkan gratiis untuk memulai proses developement.

4 Elemen untuk proses development lebih mudah

  1. Database dengan SQLLocalDB v11.0

    Dalam suatu development tentu perlu menggunakan Database. Produk Microsoft seperti SQL Server tentu membutuhkan perangkat tersendiri untuk menginstallnya disamping lisensi tentu ini akan membutuhkan budget yang lumayan besar. Untuk meminimalisir budget kita bisa memanfaatkan SQLLocalDB. Berbeda dengan SQLExpress, versi LocalDB merupakan versi yang lebih ringan dan lebih canggih dengan pendahulunya yaitu SQl Compact.
    Fitur yang tersedia pada SQL LocaldB ini juga tergolong hampir sama dengan versi SQL Express bahkan SQL Server. Kelebihan lain dari veris LocalDB ini adalah bisa dibuat untuk berbagai macam instance. Namun sifatnya sangat private dan hanya bisa diakses oleh Local PC saja. Namun bisa dishare antar User. untuk lebih lengkap sobat bisa membaca melalui artikel berikut Cara membuat instance baru pada SQLLocalDB

  2. Source Control dengan TFS online

    Proses development tentu sangat penting dalam hal penggunakan Source Control. Apalagi proses tersebut terdiri dari beberapa team developer. Source Control berfungsi memanage coding yang sedang dibuat, sehingga tidak terjadi duplikasi dan kesalahan dalam proses development. TFS (Team Foundation Server) merupakan tools yang bisa dikombinasikan dengan Visual Studio. Lagi-lagi untuk menyediakan TFS ini juga memerlukan server tersendiri. Ini tentu membutuhkan budget lagi.
    Namun demikian, Visual Studio telah menghadirkan inovasi yang bagus sekali untuk para developer. Mereka menyediakan TFS online yang bisa diakses dari manapun dan bisa dibuat team membernya. Bahkan layanan ini gratis walaupun terbatas untuk beberapa team member saja. Namun, hal ini bisa dimanfaatkan untuk meminimalisir budget developemnt. Untuk menikmati layanan ini sobat cukup memiliki mircososft account. Selanjut bisa dibaca disini Cara membuat Visual Studio online untuk cloud project

  3. Managemen workflow dengan Workflow Manager

    Baru-baru ini saya sudah banyak mengulas tentang workflo. Bisa dilihat pada artikel sebelumnya. Workflow Manager dapat membantu memanage workflow instance yang sedang berjalan. Selain itu service bisa diakses melalui HTTP. Setelah beberapa percobaan yang saya lakukan ternyata workflow manager bisa digunakan untuk local PC. Lagi-lagi ini bisa meminimalisir budget developemnt. Workflow manager mempunyai konsep dengan mempublish workflow yang akan digunakan. Nah, Selengkapnya sobat bisa baca disini Publish Workflow using Workflow Manager 1.0

  4. Gratis hosting untuk ASP.Net berbagai versi

    Ini adalah element trakshir dalam proses development jika sobat sedang menggunakan web application. Ya, kini tren aplikasi sudah mengarah ke web karena bisa diakses dari mana saja dan user interface yang lebih mudah. Namun untuk hosting .net juga memerlukan budget yang besar. di GweOne saya selalu merekomendasikan hosting yang satu ini. Disamping gratis space yang disediakan cukup besar. selain itu juga support database. Sehingga aplikasi web sobat bisa dijalankan di hosting ini. Selengkapnya bisa dibaca pada link judul diatas.

Demikian 4 elemen yang bisa mempermudah proses developement yang sedang sobat lakuakan. Jika informasi ini bermanfaat, sekiranya sobat berkenan juga memberikan komentar untuk merekomendasikan kepada sobat Gwener's lainnya. Terima Kasih.
8:00 AM Read more »
SQL Persistence untuk memanage workflow instance

SQL Persistence
Hey Gwener's, What's Up!
Pada ulasan sebelumnya saya telah menjelaskan bagaimana Runing workflow foundation on runtime. Terkadang pada saat runtime sulit untuk membuat log maupun memanage instance yang sedang berjalan. Namun itu bisa diatasi menggunakan Instance Store. Instance Store digunakan untuk menyimpan workflow yang sedang atau telah dieksekusi pada saat runtime. Sehingga hal ini memerluka kostumisasi pada WorkflowApplication.
Berikut script untuk menggunakan instance store pada workflow aplication. SqlWorkflowInstanceStore bisa sobat temukan pada assembly System.Activities.DurableInstancing.dll
            SqlWorkflowInstanceStore store =
            new SqlWorkflowInstanceStore("Server=(LocalDB)\\v11.0;Initial Catalog=WorkflowDB;Integrated Security=SSPI");

            WorkflowApplication wfApp =
                new WorkflowApplication(CreateWorkflow()); //Create some activity
            
            wfApp.InstanceStore = store;
Selain itu sobat juga bisa menghandle PersistableIdle menggunakan script berikut.
wfApp.PersistableIdle = delegate(WorkflowApplicationIdleEventArgs e)
            {
                return PersistableIdleAction.Persist;
            };
Cara diatas bisa sobat gunakan jika ingin lansung mendeklarasikan instance store di code. Namun sobat juga bisa memanfaatkan file configurasi untuk mendeklarasikan instance store ini. Namun sobat harus membuat service host tersendiri. berikut contoh configurasi yang bisa sobat gunakan.

    
        
        
    

Dihampir setiap ulasan workflow ini saya selalu merekomendasikan untuk menggunakan workflow manager. Karena sobat tidak perlu lagi membuat instance store apalagi service host yang harus dimanage. Semua bisa dilakukan dengan management client. Untuk workflow sendiri bisa sobat publish. Untuk caranya bisa dibaca disini Publish Workflow using Workflow Manager 1.0 dan perlu diketahui sobat harus menginstalnya terlebih dahulu disini tipsnya Cara install Workflow Manager 1.0
8:00 AM Read more »
Runing workflow foundation on runtime

Runtime Workflow

Hey Gwener's, What's Up!
Workflow Foundation mempunyai 2 cara untuk eksekusi workflow dari suatu activity. Melaui host tersendiri atau langsung pada saat runtime. Untuk host biasanya kita harus membuat service sendiri, Namun team workflow sudah menyediakan farm dari workflow menager yang bisa digunakan untuk publish workflow. Workflow tersebut independent dan dijalankan melalui service bisa juga melalui HTTP. Selengkapnya sobat bisa baca disini Cara Publish Workflow using Workflow Manager
Pada ulasan kali saya akan menjelaskan bagaimana membuat runing workflow langsung pada saat runtime. Artinya tidak perlu host dan database yang diperlukan. Cara ini bisa sobat gunakan jika memang workflow tersebut tidak memerlukan LOG ataupun tidak proses waiting yang harus dilakukan. Sehingga workflow akan berjalan dari awal sampai akhir secara berurutan.
WorkflowApplication merupakan bagian dasar dari proses eksekusi workflow. Sobat bisa mendapatkan objek ini pada namespace System.Activities. Dengan objek ini sobat bisa melakukan manipulasi dan berinterasi secara runtime dengan suatu workflow. Berikut script yang bisa sobat gunakan untuk running workflow.
            AutoResetEvent syncEvent = new AutoResetEvent(false);
            WorkflowApplication app = new WorkflowApplication(CreateWorkflow()); // Create activity for workflow
            app.Idle = delegate(WorkflowApplicationIdleEventArgs e)
            {
                syncEvent.Set();
            };
            bool completed = false;
            app.Completed = delegate(WorkflowApplicationCompletedEventArgs e)
            {
                syncEvent.Set();
                completed = true;
                Console.WriteLine("Workflow is Complete");
            };

            // start the application
            app.Run();
            syncEvent.WaitOne();
Perhatikan script diatas. WorfklowApplication akan sinkron dengan AutoResetEvent sehingga setiap activitas akan terhubung antar console maupun workflow aplication. Perlu saya tegaskan lagi antara workflow dan activity adalah hal bisa dibilang sama. Setiap activity bisa dianggap sebagai workflow. Nah, untuk pejelasan ditail baca disini Perbedaaan workflow dan activity pada workflow foundation

Workflow yang dijalankan pada saat runtime memang memiliki beberapa kekurang seperti, tidak ada management workflow. Sehingga proses application akan terus berlangsung sampai workflow tersebut selesai dieksekusi. Selain itu juga tidak ada LOG yang diamati maupun instance yang sedang active.
Saran terbaik untuk memanagement workflow adalah membuat host tersendiri yang memfasilitasi untuk interaksi dan report terhadap workflow tersebut. Salah fitur yang dihadirkan oleh team workflow foundation adalah memunculkan Workflow Manager seperti yang saya sebutkan diatas. Workflow Manager lebih mudah memanage instance yang berjalan dan juga bisa digunakan menjalankan berbagai macam workflow secara bersamaan. Karena bersifat farm workflow manager terpisah dari aplikasi yang sedang dibuat. Sehingga workflow bisa digunakan untuk berbagai client yang berbeda. Jika sobat belum memiliki workflow manager silahkan baca artikel berikut Cara install Workflow Manager 1.0
8:00 AM Read more »
Send Notification pada Workflow Manager

Send Notification
Hey Gwener's, What's Up!
Sebelumnya sobat sudah menginstall workflow manager? jika belum install dulu dengan cara berikut Cara install Workflow Manager 1.0. Send Notification merupakan salah satu cara berinteraksi dengan workflow yang dipublish pada workflow manager. Interaksi dengan workflow dibutuhkan ketika suatu proses membutuhkan input dari luar workflow tersebut. Sehingga proses dapat dilanjutkan ke step selanjutnya
Jika sebelumnya saya juga sudah menjelaskan Cara berinteraksi dengan Workflow menggunakan Bookmark. Namun sampai saat ini saya belum bisa menerapkan cara tersebut pada workflow yang dipublish pada workflow manager. Hal ini dikarena workflow manager menggunakan cara yang berbeda untuk berkomunikasi dengan instance yang sedang berjalan
Namun sobat tidak perlu khawatir. Workflow manager juga menyediakan suatu fitur untuk berkomunikasi dengan instance workflow yang sedang berjalan. Cara ini menggunakan SendNotification. Berikut contoh aktifivitas untuk berinteraksi menggunakan notification.
Notification Activity
Activity ini bisa sobat buat menggunakan sequence yang terdiri dari beberapa activity Messaging berikut
  • BuildMatchAllFilter
  • Subscribe
  • ReceiveNotification
  • Selain itu sobat juga memerlukan variable berupa SubcribetionFilter dan SubcribetionHandler
Dengan activity ini sobat bisa berinteraksi dengan workflow yang sobat gunakan menggunakan contoh script berikut
            var WFClient = new WorkflowManagementClient(); // create handler
            WFClient.PublishNotification(new WorkflowNotification()
            {
                Properties =
                {
                    { "CallerId", CallerId },
                    { "ReceivedDigit", Digit }
                },
                Content = new Dictionary()
                {
                }
            });
Kini sobat bisa berinteraksi dengan workflow yang dipublish pada workflow manager ini. Pastikan juga workflow dan semua activity tersebut sudah dipublish terlebih dahulu. Jika sobat ingin mengetahui cara publishnya ada disini Publish Workflow using Workflow Manager 1.0
8:00 AM Read more »
Perbedaaan workflow dan activity pada workflow foundation

Workflow and Activity
Hey Gwener's, What's Up!
Sobat sudah familiar dengan workflow foundation? Workflow merupakan sebuah alur proses yang dibuat untuk keperluan tertentu. Workflow Foundation bisa membantu sobat membangun hal tersebut. Namun ada persoalan yang perlu diperjelas dalam workflow foundation. Seperti yang kita lihat pada gambar diatas. Merupakan sebuah workflow yang terdiri dari bagian atau proses tertentu. Pada workflow foundation hal ini memiliki pengertian yang berbeda. Setiap proses/activity bisa dijadikan sebagai workflow. Nah, jadi apa bedanya workflow dengan activity ini?
Pertanyaan inilah yang sebelumnya terus saya cari tau maksud dan tujuan workflow foundation untuk membedakan kedua hal tersebut. dari beberapa hal yang saya lihat. Bahwa sebuah aktivity bisa digunakan sebagai workflow. Namun workflow juga bisa terdiri dari berbagai macam activity. Mungkin sobat juga akan merasa kebingungan dengan hal ini. Namun mari kita cari tau, kenapa bisa seperti ini.
Untuk lebih memermudah mungkin sobat perlu mengetahui dan menginstall workflow manager terlebih dahulu. Tool ini digunakan untuk mempublish workflow yang akan digunakan. selengkapnya sobat bisa membaca pada artikel berikut Cara install Workflow Manager 1.0

Defenisi workflow pada workflow Foundation

Workflow yang dimaksud adalah sebuah proses yang dieksekusi pada suatu activity. Sementara activy tersebut bisa memiliki child (anak) atau terdiri dari beberapa activity lain. Semakin banyak activity yang dimuat tentu akan semakin komplek pula aktivity yang dibuat. Perhatikan contoh script workflow berikut.
        Activity CreateWorkflow()
        {
            return new WriteLine(){
                Text = "Only Once Write"
            };
        }
Bedakan dengan workflow berikut
        Activity CreateWorkflow()
        {
            return new Sequence
            {
                Activities = 
                {
                    new WriteLine()
                    {
                        Text = "First Write"
                    },
                    new WriteLine()
                    {
                        Text = "Second Write"
                    },
                    new WriteLine()
                    {
                        Text = "Thrid Write"
                    }
                    // ... Next Write
                }
            };
        }
Kedua contoh diatas merupakan sebuah activity yang digunakan sebagai workflow. Sehingga workflow dan aktivity itu adalah sama hanya activity yang akan dieksekusi dianggap sebagai workflow sedangkan bagian dari workflow tersebutlah yang dianggap sebagai activity.
Bagimana menurut sobat. sudah cukup jelaskan dari ilustrasi diatas? Manfaat menggunakan workflow tentu akan mempermudah proses logic aplikasi yang sedang dibangun. Namun tahukah sobat bagaimana berinteraksi dengan sebuah workflow? ini caranya Cara berinteraksi dengan Workflow menggunakan Bookmark. Untuk membuat bookmark ini sobat harus menggunakan custom code activity yang bisa sobat baca di artikel Cara membuat custom code activity pada workflow foundation
8:00 AM Read more »
Cara berinteraksi dengan Workflow menggunakan Bookmark

Wait for input
Hey Gwener's, What's Up!
Pada artikel sebelumnya saya telah menjelaskan apa itu bookmark Cara membuat Bookmark pada workflow foundation. Sekarang saya akan mengulas bagaimana memanfaatkan bookmark untuk memperoleh input untuk workflow yang sedang berjalan.
Langsung saja kita akan menggunakan custom activity sebagai berikut.
    public class WaitForInput : NativeActivity
    {
        [RequiredArgument]
        public InArgument BookmarkName { get; set; }

        // indicate to the runtime that this activity can go idle
        protected override bool CanInduceIdle
        {
            get { return true; }
        }

        protected override void Execute(NativeActivityContext context)
        {                        
            context.CreateBookmark(this.BookmarkName.Get(context), new BookmarkCallback(OnReadComplete));
        }

        void OnReadComplete(NativeActivityContext context, Bookmark bookmark, object state)
        {            
            this.Result.Set(context, (TResult)state);
        }
    }
Perhatikan script diatas, aktiviti ini akan membuat sebuah bookmark pada saat dieksekusi dan akan membutuhkan input dengan type yang dideclarasi sebagai TResult. Ketika object yang diberika pada bookmark ini telah terisi maka akan dimasukkan sebagai Result dari activity tersebut.
Agar lebih mudah dipahami kini kita akan membuat sebuah workflow menggunakan activity tersebut seperti script berikut ini.
        Sequence CreateWorkflow()
        {
            Sequence workflow = new Sequence
            {
                Activities =
                {
                    new WaitForInput 
                    {
                         BookmarkName = "readText"
                    }
                    ,
                    new WaitForInput 
                    {
                         BookmarkName = "readNumber"
                    }
                }
            };
Workflow diatas akan membuat 2 buah bookmark secara berurutan dengan tipe input yang berbeda, pertama akan memerlukan text apapun yang diinput. Kedua harus berupa tipe Int32, jika input yang diberikan berbeda tipe maka akan memunculkan exception. Selanjutnya untuk mencoba workflow tersebut sobat bisa menggunakan script berikut
        static void Main(string[] args)
        {
            AutoResetEvent syncEvent = new AutoResetEvent(false);
            
            // create the workflow app and add handlers for the Idle and Completed actions
            WorkflowApplication app = new WorkflowApplication(CreateWorkflow());
            app.Idle = delegate(WorkflowApplicationIdleEventArgs e)
            {
                syncEvent.Set();
            };
            bool completed = false;
            app.Completed = delegate(WorkflowApplicationCompletedEventArgs e)
            {
                syncEvent.Set();
                completed = true;
                Console.WriteLine("Workflow is Complete");
            };

            // start the application
            app.Run();
            syncEvent.WaitOne();
            string bookmark = string.Empty;
            do
            {
                bookmark = string.Empty;
                foreach (var item in app.GetBookmarks())
                {
                    bookmark = item.BookmarkName;
                    Console.WriteLine("Please Input for : " + item.BookmarkName);
      if(bookmark == "readText")
    app.ResumeBookmark(bookmark, Console.ReadLine());
             else{
    Int32 value = 0;
    while(!Int32.TryParse(Console.ReadLine(), out value))
                               Console.WriteLine("Please Input Number for  : " + item.BookmarkName);
    app.ResumeBookmark(bookmark, value);
             }
                   syncEvent.WaitOne();
                }

            } while (!completed);

            Console.ReadLine();
        }
Nah, demikian cara untuk berinteraksi denga workflow menggunakan bookmark ini. Sangat simple dan sederhanakan. Perlu diketehui bookmark yang terbentuk akan muncul secara berurutan sesuai dengan costum activity yang dibuat diatas. Bookmark akan muncul ketika activity tersebut akan dieksekusi.
Bagi sobat yang ingin tahu bagaimana membuat custom activity selengkapnya bisa membaca pada artikel berikut Cara membuat custom code activity pada workflow foundation
8:00 AM Read more »
Cara membuat Bookmark pada workflow foundation

Bookmark workflow Foundation
Hey Gwener's, What's Up!
Bookmark yang dimaksud pada artikel ini berbeda dengan bookmark pada browser. Bookmark yang akan saya ulas adalah bagian dari activity dari worfklow foundation. Bookmark bisa dimanfaatkan untuk berinteraksi dengan user ataupung responden yang akan mengeksekusi workflow.

Apa itu Bookmark?

Pada sebuah workflow tentu akan ada interaksi user dengan workflow tersebut. Agar workflow tetap sincron dan workflow juga harus tetap tertahap sampai interaksi dengan user selesai dilakuakan. Misalkan kasus pada proses approval, Proses workflow diharuskan tertahan sampai ada approval yang dilakukan oleh user yang ditunjuk. Inilah salah manfaat dari Bookmark. Bookmark adalah point dimana workflow membutuhkan interaksi dan tertahan sampai bookmark tersebut terisi dengan nilai yang sesuai

Cara membuat Bookmark

Cara membuat bookmark ini bisa sobat terapkan dengan menggunakan custom aktiviti seperti ulasan pada artikel Cara membuat custom code activity pada workflow foundation. Base class yang bisa sobat gunakan adalah NativeActivity seperti contoh code berikuti ini.
    class WriteActivity : NativeActivity
    {
        public string BookmarkName { get; set; }

        protected override bool CanInduceIdle
        {
            get { return true; }
        }

        protected override void Execute(NativeActivityContext context)
        {
            //create a bookmark
            context.CreateBookmark(BookmarkName, new BookmarkCallback(OnBookmarkCallback));
        }

        void OnBookmarkCallback(NativeActivityContext context, Bookmark bookmark, object state)
        {
            //write a message when bookmark resumed
            string message = (string)state;
            Console.WriteLine(message);            
        }        
    }
Perhatikan script diatas, Pada saat execusi context akan membuat sebuah bookmark dalam artian bookmark ini perlu diiisi jika ingin melanjutkan aktivity tersebut. Ketika Bookmark selesai diinput maka akan dipanggil fungsi OnBookmarkCallback. Sehingga aktifity ini akan selesai dieksekusi.

Jangan lupa juga untuk mengeksekusi activity tersebut pada workflow. Berikut artikel yang bisa sobat baca untuk Publish Workflow using Workflow Manager 1.0
8:00 AM Read more »
Cara membuat custom code activity pada workflow foundation

Custom Code Activity
Hey Gwener's, What's Up!
Melanjutkan artikel sebelumnya Custom Activity in Workflow Foundation. Jika sebelumnya kita menggunakan designer untuk membuat custom activity namun kini saya akan mengulas bagaimana membuat activity dengan code. Berikut selengkapnya

Pertama yang perlu sobat buat adalah project Activity Library kemudian tambahkan item CodeActivity seperti gambar diatas. berikutnya ini contoh script yang bisa sobat gunakan sebagai custom activity untuk membuat sebuah Hash
    public sealed class ComputeHash : CodeActivity
    {
        // Define an activity input argument of type string
        public InArgument Input { get; set; }

        protected override string Execute(CodeActivityContext context)
        {
            string input = context.GetValue(this.Input);
            StringBuilder hash = new StringBuilder();

            // Compute Hash - see http://msdn.microsoft.com/en-us/library/s02tk69a.aspx
            // NOTE: do not use MD5 for security 

            using (HashAlgorithm hashAlgorithm = MD5.Create())
            {
                // Convert the input string to a byte array and compute the hash.
                byte[] data = hashAlgorithm.ComputeHash(Encoding.UTF8.GetBytes(input));

                // Loop through each byte of the hashed data 
                // and format each one as a hexadecimal string.
                for (int i = 0; i < data.Length; i++)
                {
                    hash.Append(data[i].ToString("x2"));
                }
            }

            // Return the hexadecimal string.
            return hash.ToString();
        }
    }
Pada script diatas sebenarnya input argument akan diencript menggunakan hashalogirtma. Sehingga apapun input string yang dibuat akan menghasilkan encriptsi yang berbeda pula. Contoh code diatas bisa sobat gunakan sebagai custom activity. Sobat bisa membuat untuk keperluannya yang lain dengan melakukan inhiretance pada class yang sama.
Sebenarnya banyak sekali base class yang bisa sobat gunakan untuk membuat custom activity ini diantaranya ada NativeActivity atau NativeActivity dan lainnya yang bisa sobat temukan pada namespace System.Activities
Jangan lupa juga untuk membaca artikel tentang Cara Publish Workflow pada Workflow Manager 1.0
8:00 AM Read more »
Custom Activity in Workflow Foundation

Custom Activity

Hey Gwener's, What's Up!
Kali ini kita akan mengulas untuk membuat custom activity pada Worfklow Foundation. Sebelumnya jika sobat belum mengetahui cara hosting workflow ini bisa menggunakan Workflow Manager 1.0, untuk selengkapnya bisa sobat baca di Cara install Workflow Manager 1.0. Kini workflow yang sobat buat sudah dimanage terpisah pada host yang bisa sobat tentukan sendiri
Ada 2 Cara membuat Custom Activity ini, Melalui Code atau menggunakan Designer. Pada kesempatan ini saya akan coba memberikan informasi dengan menggunakan designer. Baik langsung saja.

Cara membuat Custom Activity

Buatlah sebuah project baru menggunakan template workflow. Ada 2 pilihan yang bisa sobat gunakan yakni Activity Designer Library atau Activity Library. Pilih yang pertama sesuai dengan gambar berikut

Activity Designer Library

Jika dalam activity tersebut sobat ingin melakukan beberapa step sobat bisa memanfaatkan element Sequence. COntoh berikut adalah saya membuat sebuah activity untuk mengambil data dari services.odata.Org menggunakan Messaging -> HttpSend. Parameter yang saya gunakan adalah sebagai berikut.
  • Method = GET
  • Uri = "http://services.odata.org/V3/Northwind/Northwind.svc/Suppliers?$filter=substringof('" + searchKeyword + "', City)&$format=json&$top=" + numItems + "&$select=CompanyName,City"
  • ResponseContent = supplierData. supplierData adalah argument yang berupa output yang bisa saya gunakan sebagai variabel pada workflow
Sementara itu pada Sequence saya menempatkan beberapa argument untuk berinteraksi antar activity.
  • searchKeyword, merupakan input key yang akan digunakan sebagai parameter pada Uri HttpSende diatas
  • numItems, merupakan jumlah items yang akan diambil dari service.odata.org
  • supplierData, merupakan variable output yang akan diisi sebagai hasil query dari service.odata.org
Bentuk lengkap aktivity ini adalah seperti gambar dibawah ini.

Custom Activity Get Suplier

Inilah bentuk custom activity yang bisa sobat gunakan untuk meretrive data dari services.odata.org, activity ini juga bisa sobat gunakan langsung sebagai workflow karena sudah berbentuk sequence. Namun jika sobat ingin menggunakannya sebagai activity bisa pada workflow yang lebih komplek misalnya user harus menginput dulu parameter yang diperlukan.
Sebagai informasi tambahan setelah selesai membuat workflow sobat bisa juga host workflow tersebut atau publish melalui workflow manager. Saya telah mengulas bahasan ini pada artikel Publish Workflow using Workflow Manager 1.0
8:00 AM Read more »
Publish Workflow using Workflow Manager 1.0

Workflow Foundation
Hey Gwener's, What's Up!
Pada artikel ini saya akan menjelaskan bagaimana untuk mempublish workflow yang dibuat dengan Workflow Foundation. Perlu diketahui untuk mempublish workflow sobat memerlukan format metadata dengan extensi (*.xaml). Baik selengkapnya akan saya ulas sebagai berikut
Ada 2 hal yang perlu sobat lakukan yakni mempublish activies yang diperlukan pada workflow yang dibuat. Kemudian mempublish workflow tersebut.

Create Worflow Management Client

Tahap pertama adalah membuat WorkflowManagementClient, ini membutuhkan Url dan cridential untuk mengakses Workflow Manager. selengkapnya seperti script berikut
        WorkflowManagementClient CreateManagementClient(Uri baseUri, string scopeName)
        {
            //use ClientSettings for addtional setting
            WorkflowManagementClient managementClient = new WorkflowManagementClient(baseUri);
            
            managementClient = managementClient.CurrentScope.PublishChildScope(scopeName, new ScopeDescription()
            {
                UserComments = string.Format("For {0} sample only", scopeName)
            });

            return managementClient;
        }

Publish Workflow Activities

Seperti yang telah saya jelaskan sebelumnya custom actifi yang telah dibuat juga perlu dipublish. Hal ini sobat bisa lakukan menggunakan ManagementClient dengan melampirkan Path File Activiti.
        string PublishActivity(WorkflowManagementClient managementClient, Uri baseUri,
            string scopeName, string activityFile, string activityName)
        {
            string activityString = File.ReadAllText(activityFile);
            string translatedFolder = Path.Combine(Path.GetDirectoryName(Path.GetFullPath(activityFile)), @"bin\Debug\TranslatedWorkflows");
            string translatedXamlFile = Directory.GetFiles(translatedFolder, "*.xaml").First();
            string translatedXamlString = File.ReadAllText(translatedXamlFile);

            if (translatedXamlString.StartsWith("Error"))
            {
                return translatedXamlString;
            }

            ActivityDescription activityDesc = new ActivityDescription(XElement.Parse(translatedXamlString));
            activityDesc.Name = activityName; // This has to match the Activity Class name when publish activity.

            try
            {
                managementClient.Activities.Publish(activityDesc);
            }
            catch (Exception e)
            {
                return "Failed to publish activity: " + e.Message;
            }

            return string.Empty;
        }

Publish Workflow

Terakhir adalah mempublish workflow. Caranya adalah mendaftarkan salah satu akviti sebagai workflow melalui script berikut
       string PublishWorkflow(Uri baseUri, string scopeName, string activityFile,
            string activityName, string workflowName, bool startWorkflow, Dictionary filters)
        {
            WorkflowManagementClient managementClient = CreateManagementClient(baseUri, scopeName);
            string errorMessage = PublishActivity(managementClient, baseUri, scopeName, activityFile, activityName);

            if (!string.IsNullOrEmpty(errorMessage))
            {
                return errorMessage;
            }

            WorkflowDescription workflowDescription = new WorkflowDescription()
            {
                Name = workflowName,
                ActivityPath = activityName,

            };

            if (filters != null)
            {
                MatchAllSubscriptionFilter filterActivity = new MatchAllSubscriptionFilter();
                foreach (var filter in filters)
                {
                    filterActivity.Matches.Add(filter);
                }
                workflowDescription.ActivationFilter = filterActivity;
            }
           
            try
            {
                managementClient.Workflows.Publish(workflowDescription);
            }
            catch (Exception e)
            {
                return "Failed to publish workflow: " + e.Message;
            }

            if (startWorkflow)
            {
                try
                {
                    managementClient.Workflows.Start(workflowDescription.Name);// (workflowDescription.Name, startParameters);

                }
                catch (Exception e)
                {
                    return "Failed to start workflow: " + e.Message;
                }
            }
            return string.Empty;
        }
Sampai tahap ini sobat sudah mempublish worfklow dengan akvities yang telah sobat buat. Selanjutnya sobat tinggalkan menjalankan worfklow berdasarkan nama yang sobat buat menggunakan workflowmanagementclient. Nah, demikianlah cara publish workflow ini. Untuk sobat yang belum menginstall workflow manager bisa mengetahui caranya di artikel berikut Cara install Workflow Manager 1.0
8:00 AM Read more »
Cara install Workflow Manager 1.0

Worfklow Manager 1.0
Hey Gwener's, What's Up!
Workflow Manager merupakan tools yang bisa sobat gunakan untuk mempublish Workflow. Workflow Manager 1.0 ini dibangun menggunakan Workflow Foundation. Versi terbaru workflow Foundation 4.5 kini hadir. Memang Workflow Foundation tidak harus dipublish, Workflow yang dibuat bisa dijalankan pada saat runtime sekalipun. Namun ada baiknya jika menggunakan Workflow Manager, disamping lebih efektif, workflow Manger ini juga memiliki fitur versioning, jadi sobat bisa selalu update workflow ketika diperlukan. Sehingga struktur aplikasi akan lebih terorganisir

Instalasi Workflow Manager 1.0

Untuk lebih detail mari kita lihat bagaimana menginstall Workflow Manager ini. Untuk mendapatkan installer sobat bisa menggunakan 2 cara berikut
Jika menggunakan Web Platform Installer sobat bisa mencarinya dengan keyword Workflow Manager, seperti gambar dibawah ini
Installer Workflow Manager
Proses installasi Workflow Manager 1.0 akan membuat service seperti berikut:
  • Eksekusi ASP.NET IIS Registration Tool.
  • IIS Management Service.
  • Service Bus 1.0.
  • Microsoft Windows Fabric.

Konfigurasi Workflow Manager 1.0

Setelah berhasil melakukan installasi sobat bisa langsung mengkonfigurasi Workflow Manager ini. Ada tiga pilihan, namun jika ini adalah yang pertama kali sobat bisa menggunakan menu Configure the Workflow Manager With Defaul Setting seperti gambar dashboard diatas.
Pada tahap pertama ini, sobat akan mengkonfigurasi beberapa item berikut
  • Database (Menggunakan SQL Server)
  • Service Account
  • Key untuk cerificates generation
Instalasi Workflow Manager
Setelah melewati tahap diatas, sobat akan diperlihatkan summary konfigurasi yang akan diapply. Pastikan semua konfigurasi telah sesuai dengan kriteria yang sobat buat. Pada tahap akhir installasi akan dieksekusi selengkapnya.
Instalasi Workflow Manager
Pada thap ini sobat telah berhasil membuat workflow manager. Jika tadi sobat mencentang Workflow manager bisa diakses via HTTP. Maka pada IIS sobat akan melihat dan bisa mengakses workflow manager pada port 12290 dan 12291.

Tahukah sobat, selain menggunakan SQL Server, kini sobat juga bisa memanfaatkan versi Compact yang lebih canggih yakni SQLLocalDB. Lebih efektif dan sangat cocok untuk proses developemet. Selengkapnya sobat bisa baca melalui artikel berikut Cara Menggunakan SQL LocalDB v11.0 untuk proses development
8:00 AM Read more »
Performance Query Paging in SQL server 2012

Paging Query

Hey Gwener's, What's Up!
Sudahkan sobat menggunakan salah satu fitur terbaru dari SQL Server 2012 ini?. Ya, Paging merupakan suatu metoda manipulasi data yang efektif dalam proses reporting. Jika suatu tabel database memiliki ribuan bahkan jutaan data pasti akan membutuhkan waktu yang lumayan lama untuk meretrive semua data tersebut. Bahkan impactnya juga akan berdampak pada aplikasi yang sedang sobat gunakan, Karena performancenya menjadi lambat. Oleh karena itu konsep paging ini muncul untuk lebih mengefektifkan performance. Karena tidak munkin data ribuan tersebut ditampilkan dalam suatu waktu, ini justru akan memperburuh dari sisi tampilan/interface yang dibuat. Nah, dengan membilahnya menjadi beberapa bagian tentu ini akan juah lebih efektif.
Berdasarkan pengalaman yang saya lakukan terjadi perbedaan besar antar SQL server 2008 dengan SQL server 2012 yang kini telah hadir. Dari sisi fungsi paging kini performancenya jauh lebih baik. Sebagai informasi saja. Berikut contoh query yang bisa sobat gunakan untuk paging. Dilihat dari strukturnya jauh berbeda cara query paging SQL server 2008 dengan SQL Server 2012. Meskipun cara lama masih bisa diterapkan pada versi terbaru ini. Namun performance yang diberikan pada SQL Server 2012 jauh lebih baik
--SQL 2005/2008 Paging Query
DECLARE @Start INT
DECLARE @End INT
SELECT @Start = 100,@End = 300;
  
WITH EmployeePage AS
 (SELECT FirstName,  LastName
  ROW_NUMBER() OVER (ORDER BY FirstName) AS RowNumber
  FROM EmployeeDB)
SELECT * FROM EmployeePage
 WHERE RowNumber > @Start AND RowNumber <= @End
GO
Sedangkan pada SQL Server 2012 sobat bisa melakukan dengan cara yang lebih mudah. Terlebih lagi dalam suatu query paging sobat juga bisa langsung mendapatkan total keseluruhan data menggunakan Count(*) Over(), Seperti contoh query paging dibawah ini.
--SQL SERVER 2012
SELECT FirstName, LastName, Overall_Count = COUNT(*) OVER() FROM EmployeeDB
ORDER BY FirstName
OFFSET 100 ROWS FETCH NEXT 200 ROWS ONLY;

Hasil SQL Profiler

Table berikut berisi perbandingan performance dengan melakukan queries diatas sebanyak 10 kali di dapat data dari SQL Profiler.
Query First Page
Version CPU (ms) Reads Writes Duration
2000 328 24427 444 327
2005/2008 Derived 125 9242 0 178
2005/2008 CTE 127 9242 0 173
2012 46 8733 0 44
Query Middle Page
Version CPU (ms) Reads Writes Duration
2000 312 24658 444 313
2005/2008 Derived 157 9472 0 173
2005/2008 CTE 156 9472 0 175
2012 125 8963 0 135
Inilah salah satu kecanggihan dari SQL Server 2012. Tahukah sobat, ternyata versi SQL server kini juga hadir dengan versi LocalDB. SQLLocalDB tidak memerlukan server bisa digunakan pada Local PC dengan spec standar. Mau tau informasi ini, baca saja disini Menggunakan SQL LocalDB v11.0 untuk proses development. Kelebihan lain SQL LocalDB ini sobat juga bisa memanipulasi instancenya dengan membuat berbagai macam instance. Namun sifatnya masih private dan hanya bisa digunakan pada local PC saja. Untuk membuat instance ini sobat bisa membaca artikel berikut Cara membuat instance baru pada SQLLocalDB
8:00 AM Read more »
Cara membuat instance baru pada SQLLocalDB

SQL LocalDB Command Line Tool
Hey Gwener's, What's Up!
Beberapa hari yang lalu saya telah mengulas tentang Menggunakan SQL LocalDB v11.0 untuk proses development. SQL Local DB lebih simple dan tidak memerlukan space yang besar seperti SQL server. Seperti halnya SQL Server ternyata SQL LocalDB juga bisa dimanage servicenya, terutama instance bisa dibuat lebih banyak. Nah, kali saya akan ulas hal ini selengkapnya

Untuk memanagement SQL LocalDB sobat bisa memanfaatkan fitur command line tool Seperti Gambar dashboard diatas. Cara cukup mudah sobat tinggal membuka CMD command line sebagai administrator
Berikut script yang sobat gunakan untuk membuat instance baru pada SQL LocalDB
SQLLocalDB create "INSTANCE_NAME" [Version-Number] [-s]
  • [Version-Number], bersifat opsional jika sobat ingin membuat dengan versi yang berbeda
  • [-s], bersifat opsional jika ingin langsung menjalankan instance yang telah dibuat

Pastikan bahwa sobat menjalankan instace yang baru dibuat. Untuk mengakses instance ini sobat bisa mengaksesnya dengan cara (LocalDB)\INSTANCE_NAME. Gunakan Windows Athentication untuk login menggunakan instance ini. Perlu diketahui bahwa secara default sa Login pada instance ini berada pada kondisi Disable. Jika sobat ingin menggunakan akun ini sobat bisa mengaktifkannya melalui cara berikut Cara Enable sa Login pada SQL Server

Untuk mengakses command line tool pada SQLLocalDB ini sobat bisa menggunakan script berikut
SQLLocalDB -?
Banyak berbagai fitur yang bisa sobat manfaatkan dengan SQLLocalDB ini. Memang perlu diketahui bahwa SQLLocalDB ini bersifat private dan hanya bisa diakses didalam LocalPC saja. Antar account berisfat private, namun sobat juga bisa menshare instance tersebut melalui SQLLocalDB command line tools seperti script berikut
SQLLocalDB share ["SID or Account"] "PRIVATE_NAME" "SHARE_NAME"
8:00 AM Read more »
Enable sa Login from SQL Server

Sa Login
Hey Gwener's, What's Up!
Mungkin sobat sedang mengalami hal yang sama yang saat ini sedang saya cari tau juga. Namun jangan khwatir kini sudah saya temukan cara untuk meenablekan sa login SQL server ini. Perlu diketahui sa Login secara default akan disable jika pada saat installasi sobat menggunakan Windows Authentication. Sehingga sobat harus me-enable-kan fitur ini secara manual.
Ada 2 cara yang bisa sobat lakukan yakni menggunakan SQL Management Studio atau dengan menggunakan script. Nah, untuk selengkapnya ada seperti penjelasan berikut ini.

Enable Sa Login melalui SQL Management Studio

Melalui Object Explorer bukalah menu Logins dan pilihlah properties dari sa. Perhatikan tanda panah merah kebawah seperi gambar berikut menandakan bahwa akun tersebut masih disable.
Sa Login Properties

Proses selanjutnya adalah memasukkan password untuk akun sa tersebut. Gunakan Password standar yang bisa sobat ingat
Sa Login Password
Tahap terakhir adalah mengenablekan akun ini. Bukalah menu Status dan Enable pada setting login seperti gambar berikut
Sa Login Enable

Enable Sa Login melalui SQL Script

Cara ini adalah yang paling mudah. Terlebih dahulu sobat harus login ke SQL server yang memiliki role sebagai Sysadmin. Selanjutnya sobat tinggal apply sesuai dengan script berikut
ALTER LOGIN sa WITH PASSWORD = 'P@ssw0rd' UNLOCK;
GO
ALTER LOGIN sa ENABLE ;
GO

Begilah cara mengaktifkan sa Login pada SQL server. Saya juga punya informasi menarik mengenai SQL server, Untuk sobat yang ingin melakukan proses development tanpa harus menginstall SQL Server ada disini Menggunakan SQL LocalDB v11.0 untuk proses development
8:00 AM Read more »
Menggunakan SQL LocalDB v11.0 untuk proses development

SQL LocalDB v11.0
Hey Gwener's, What's Up!
Kebutuhan proses development memang memerlukan spec PC yang lumayan besar. Namun bagaimana jika kita ingin menggunakan PC/Laptop dengan spec standar. Berdasarkan pengalaman yang saya lakukan, hampir setiap proses development membutuhkan database. Banyak versi SQL yang bisa sobat manfaatkan. Namun untuk menggunakan versi SQL Server tentu akan membutuhkan spec PC yang lebih besar. Nah, kali ini saya akan ulas bagaimana memanfaatkan SQL LocalDB sebagai dari SQL Express 2012. Berikut selengkapnya

Apa itu SQLLocalDB

SQLLocalDB adalah versi terbaru dari SQL Compact. SQLLocalDB memiliki fitur yang lebih komplek dari SQLCompact. Jika SQLCompact hanya bisa memiliki table dan view saja namun SQLLocalDB sudah memiliki fitur hampir sama dengan SQLServer, mulai dari StoreProsedure, Login dan lain sebagainya bisa digunakan. Perlu diketahui bahwa SQLLocalDB bersifat private, oleh karena itu hanya bisa diakses didalam suatu PC saja. Jadi, sangat cocok jika digunakan untuk proses development.

Installasi SQLLocalDB

Prosess intallasi SQLLocalDB sebenarnya sudah include dalam prosess installasi Visual Studio. Namun jika sobat ingin menginstal secara manual bisa membaca artikel dari microsoft berikut http://technet.microsoft.com/en-us/library/hh510202.aspx. Versi terbarunya adalah SQL Server 2012 Express LocalDB

Cara Akses SQLLocalDB

Jika sobat sudah menginstal SQLLocalDB ini bisa diakses dengan Aplikasi SQL Management apapun. Pada contoh ini saya akan mencoba menjelaskan cara akses melalui visual studio. Dengan tools ini sobat bisa memanipulasi database yang sedang digunakan. Seperti query maupun management database lainnya.

Login Database

Bukalah menu SQLServer Object Explorer seperti tampilan diatas. Untuk menambahkan instance sobat bisa menggunakan menu Add Sql Server. Dan gunakan instance (LocalDB)\v11.0 seperti gambar berikut.
Add SQL LocalDB v11.0

Beginilah SQLLocalDB bisa sobat akses. Kini sobat sudah bisa menggunakan SQL Server dengan fitur lengkap tanpa perlu menginstall versi servernya. Untuk proses development saya rasa fiturnya sudah lengkap.
Selain database untuk membantu proses development yang paling penting adalah Source Control. Jika sobat sudah pernah mengenal visual studio pasti sudah tidak asing lagi dengan fitur TFS (Team Foundation Server). Namun untuk menginstall TFS membutuhkan server tersendiri sehingga akan mengeluarkan budget lagi kan?. Kini sobat tidak perlu khawatir lagi. Sudah tersedia TFS online yang bisa diakses kapan pun. Baca disini ulasannya Cara menggunakan Team Foundation Server (TFS) pada Visual Studio Online
TFS online ini gratis diberikan oleh Visual studio. Bisa digunakan untuk private cloud project juga loh. Untuk mendapatkan fasilitas ini sobat harus memiliki microsoft account terlebih dahulu. Kemudian bergabung menjadi member visual studio. caranya sobat bisa pelajari dari sini Cara membuat Visual Studio online untuk cloud project
8:00 AM Read more »
Cara Memanagemen .Net Project dengan Unit Test

Unit Test Project
Hey Gwener's, What's Up!
Dalam proses development tugas yang paling berat adalah melakukan proses testing. Karena proses ini harus memastikan apakah logika atau code yang sudah dibuat memang sesuai dengan kasus-kasus yang akan diterapkan nantinya. Namun jauh sebelum itu seorang developer juga perlu memastikan bahwa logic yang dibuat sudah benar. Salah satu bentuk yang bisa dilakukan adalah menggunakan unit test. Nah bagaimana menerapkannya berikut penjelasan lebih lengkap, baca terus artikel ini.
Unit test ini bisa dibuat untuk setiap objek, ini lebih efektif untuk memastikan setiap object yang memiliki logic memberikan hasil yang sesuai. Selain itu manfaat dari unit test ini adalah untuk menjaga konsisten dari logic yang dibuat. Ketika terjadi perubahan pada suatu object maka kita bisa memastikan hasilnya tetap sama menggunakan unit test ini.

Contoh Unit Test

[TestClass]
public class ContextTest
{
 [TestMethod]
 public void Create()
 {
  ContextDb db = new ContextDb();
  var result = db.create();
  Assert.AreEqual(2, result.Id);
 }
} 
Contoh diatas merupakan cara sederhana untuk menentukan apakah hasil yang dibuat dari ContextDb akan menghasilkan Id sama dengan 2. Jika terjadi perbedaan hasil maka Unit Test ini akan menampilkan hasil yang tidak sesuai sehingga ini akan membantu untuk mentrace kesalahan yang terjadi pada logic yang telah dibuat.

Bagaimana menerapkan Unit Test?

Unit test merupakan project tersendiri yang disediakan oleh Visual Studio. Seperti tampilan diatas. Buatlah project baru untuk Unit test ini. Kemudian tambahan refrence project yang akan dibuat unit testnya. Nah, selanjutnya silahkan buat unit test untuk objek yang ingin sobat lihat.

Dalam proses development biasanya diperlukan juga source control untuk mengendalikan dan memanage code yang telah dibuat. Sudah sobat menggunakannya? Kini visual studio sudah menyediakan TFS online yang bisa sobat gunakan dimana saja. Mau tau? silahkan baca selengkapnya disini Cara menggunakan Team Foundation Server (TFS) pada Visual Studio Online
TFS online ini memerlukan account visual studio online. Sobat bisa mendapatkannya dengan mendafarkan gratis. Namun harus memiliki microsoft account terlebih dahulu. Selengkapnya sobat bisa membaca di Cara membuat Visual Studio online untuk cloud project
8:00 AM Read more »
no image

Hey Gwener's, What's Up!
Dalam proses development ada beberapa hal yang perlu kita lakukan untuk mendapatkan hasil sesuai dengan logika yang diberikan. Proses ini terkadang membutuh eford juga, Seperti melakukan proses debug. Hal ini biasanya paling umum dilakukan oleh developer .Net untuk mengetahui hasil dari code yang telah dibuat.

Kenapa perlu debug?

Walaupun kita sudah yakin dengan proses dan logika yang diterapkan pada code project sebenarnya tetap perlu melakukan debug untuk melihat hasilnya. Ini dilakukan pada proses dan tahap testing. Sebagai developer tentu ini sudah tidak asing lagi.
Beberapa hal kadang tidak harus dilakukan proses debug, bisa saja karena membutuhkan memory yang cukup besar sehingga proses debug ini akan membutuhkan waktu yang cukup lama. Sehingga menghambat proses development yang sobat lakukan. Dari beberapa pengalaman yang saya lakukan, Seperti membuat Pattern Regex (Regular Expression) biasa akan membutuhkan debug yang berulang-ulang demi menemukan patern yang sesuai dengan keinginan. Nah, apa saja sih aplikasi yang bisa membantu proses debug ini sehingga dapat menghemat waktu proses development. Selengkapnya baca terus arikel ini ya.

2 Aplikasi untuk membantu proses debug .Net Project

  1. Expresso
    Expresso merupakan salah satu aplikasi yang bisa sobat gunakan untuk membangun pattern dari regex. Banyak kelebihan yang bisa sobat dapatkan dengan aplikasi ini. Salah satu fiturnya adalah bisa langsung di konversi ke Code C#. Jadi selain testing dan mendapatkan patern yang sesuai sobat bisa langsung mendapatkan Code C# yang benar. Penasaran? sobat bisa membaca cara menggunakannya pada artike berikut Aplikasi untuk membuat Regular Expressions lebih mudah.
  2. LinqPad
    Linqpad sesuai dengan namanya aplikasi ini digunakan untuk memanipulasi expressi linq maupun lamda. Tidak hanya itu, linqpad ini bisa sobat manfaatkan juga untuk membangun sebauh aplikasi. Cara kerja nya hampir sama dengan IDE visual studio walaupun aplikasi ini lebih fokus pada expresi linq. Mau tau lebih dalam tentang aplikasi ini? saya sudah mengulasnya di artikel ini Aplikasi untuk testing Linq dan Lamda Expression
Pada inti membuat aplikasi .Net memang memerlukan proses debug. Namun dengan meminimalisir proses ini tentu akan mempercepat proses development yang sedang dilakukan. Tips dari saya adalah sebaiknya proses debug dilakukan setelah membuat sebuah lifeCycle sehingga tidak dilakukan secara berulang-ulang. Selain itu juga bisa memanfaatkan fitur testing project.
8:00 AM Read more »
Aplikasi untuk testing Linq dan Lamda Expression

LinqPad
Hey Gwener's, What's Up!
Sobat yang sering menggunakan Linq atau lamda Expression mungkin mempunyai kendala dalam hal melakukan debug ataupun membuat expression yang benar. Nah, kali ini saya akan mengulas sebuah aplikasi yang bisa sobat gunakan untuk membangun linq expression yang benar. Sehingga ini akan membantu proses development bisa lebih cepat. Oke, Selengkapnya baca terus artikel ini ya.

Apa itu Linq Expression

Linq adalah salah satu fitur dari .Net framework yang paling diminati dan banyak digunakan oleh developernya. Hampir semua logic bisa di terapkan dengan linq ini. Konsepnya sebenarnya digunakan untuk Collection yang terdiri dari banyak item sehingga diperlukan query khusus yang memperoleh item berdasarkan kriteria tertentu. Inilah yang memunculkan linq Expression. Dalam perkembangan .net saat ini linq sudah dikombilasikan dalam bentuk fungsi yang sudah dilengkapi dengan expression. Fungsi ini dikenal sebagai Lamda Expression.
Seperti contoh gambar diatas merupakan Lamda Expression untuk memperoleh item dengan kriteria yang saya buat. dan hasil yang didapatpun sudah benar. Nah, untuk membangun expression ini tentu perlu proses testing terlebih dahulu. Banyak developer lebih memanfaatkan fitur debug dari visual studio. Menurut saya jika project tersebut masih skala kecil mungkin melakukan debug tidak akan memakan memory yang banyak namun jika sudah besar justru akan membuat proses debug lebih lama. Nah berikut aplikasi yang bisa sobat manfaatkan.

Aplikasi untuk testing Linq dan Lamda Expression

LinPad.net adalah aplikasi yang bisa sobat gunakan untuk melakukan testing dari coding C# mengguankan Linq atau pun lamda expression. Tidak hanya itu project pun bisa sobat bangun dengan linpad ini. Tidak hanya khusus linq saja loh, apapun bisa sobat buat disini.

Keuntungan LinqPad

  • Membuat project apapun
  • Terhubung dengan database dengan drive yang bisa menjadi Add-in
  • Result dalam bentuk deskripsi object secara detail.
Selain aplikasi untuk Linq dan lamda ini ternyata juga ada aplikasi yang bisa sobat gunakan untuk membuat Regular expression. Ini sudah saya jelaskan pada artikel sebelumnya di Aplikasi untuk membuat Regular Expressions lebih mudah. Nah, demikian Informasi mengenai aplikasi ini. Sobat bisa menerapkannya untuk berbagai keperluan proses development.
8:00 AM Read more »
Aplikasi untuk membuat Regular Expressions lebih mudah

Expresso
Hey Gwener's, What's Up!
Pernah kah sobat menggunakan Regular Expression?. Banyak yang bisa sobat dapatkan dengan Regex ini mulai dari fitur validasi, Find and Replace dan lainnya. Namun membuat Regular Expression kadang perlu dilakukan test terlebih dahulu agar hasil yang diharapkan memang sudah sesuai. Nah, kali ini kita akan mengulas bagai mana membuat regular expression yang benar. Selengkapnya baca terus artikel ini ya.

Apa itu Regex?

Regular Expressions atau disingkat Regex merupakan sebuah kombinasi string dengan kode tertentu yang digunakan untuk menemukan suatu pola (Patern) yang telah ditentukan terhadap suatu nilai string. Contoh sederhana adalah untuk memvalidasi angka dari input string, memvalidasi format email, dan banyak lainnya.

Bagaimana menggunakan Regex

Penggunaan Regex disesuaikan dengan kebutuhan yang diinginkan. Misalnya jika ingin memvalidasi angka sobat bisa menggunakan pattern berikut /d. Patern ini bisa sobat temukan dibanyak referensi. Permasalahannya adalah ketika membuat sebuah patern tentu perlu diuji terlebih dahulu sesuai case (kasus) yang ada. Nah berikut ada aplikasi yang bisa membantu sobat untuk membuat regex yang benar

Aplikasi untuk membuat Regular Expressions lebih mudah

Expresso adalah salah satu software yang bisa sobat gunakan untuk membuat patern regex yang lebih mudah. Software ini akan mempunyai layout yang simple terdiri dari beberapa item seperti Pattern, Konfigurasi Regex, Input string, dan Result Regex. Layout ini sebenarnya diambil dari struktur code regex yang akan sobat buat. contohnya adalah seperti berikut
using System.Text.RegularExpressions;

Regex regex = new Regex(
    @"(?\d{1,2})/(?\d{1,2})/(?(?:\d{4}|\d{2}))(?"
    + @"x)#Dates",
    RegexOptions.IgnoreCase
    | RegexOptions.Multiline
    | RegexOptions.IgnorePatternWhitespace
    | RegexOptions.Compiled
    );
Kelebihan dari aplikasi ini adalah
  • Live Result. Sobat bisa langsung melihat hasil exekusi pattern regex yang dibuat sehingga tidak perlu melakukan debug lagi pada project sobat buat.
8:00 AM Read more »
no image

Hey Gwener's, What's Up!
Pernahkah sobat mengalami kendala ketika 2 objek atau lebih saling keterkaitan yang membutuhkan satu sama lain. Misalnya saja Control dengan dengan database. Tak jarang developer menggabungkan 2 objek ini menjadi satu saja. Berdasarkan Konsep OOP ini sangat tidak baik. 2 Objek ini berbeda dan memiliki fungsi tersendiri.
Salah satu fitur yang bisa sobat manfaatkan adalah menggunakan Interface. Konsep interface sama halnya dengan input-output ada masukan yang perlu di berikan untuk mendapatkan output (hasil) yang diharapkan. Interface ini bisa digunakan untuk menghubungkan 2 objek atau lebih yang saling berkaitan.
Baik, saya punya contoh interface untuk melakukan dan berfungsi sebagai konteks database. Interface ini dibangun untuk melakukan fungsi insert, update, delete dan get atau yang sering disebut dengan istilah CRUD.
interface IDb where T : class
{
 void Insert(T input);
 void Update(T input);
 void Delete(T input);
 void Get(object id);
 void GetAll();
}
interface ini bisa sobat gunakan untuk melakukan fungsi CRUD terhadap object yang akan dimanipulasi misalkan object class berupa Employee.
class Employee
{
 public string Id {get;set;}
 public string Name {get;set;}
 public string Job {get;set;} 
 //...
}
Kembali ke bahasan kita diatas interface ini bisa sobat implement pada control yang akan sobat gunakan.
class EmployeeControl : UserControl
{
 public IDb EmployeeContext {get;set;}
 
 public EmployeeControl(){
  //Do Stuff with EmployeeContext
 }
 //...
}
Nah, demikianlah konsep interface yang sederhana. Sobat bisa mengkombinasikannya untuk logika lebih kompleks. Seperti menggunakan konsep delegate. Berikut sudah saya jelaskan pada artikel sebelumnya di Konsep delegate pada .Net untuk menghandle base objek
8:00 AM Read more »
no image

Hey Gwener's, What's Up!
Dalam konsep OOP salah satu yang perlu dipahami adalah inhirate object atau objek turunan. Tujuannya adalah untuk menyamakan objek yang memiliki tujuan yang sama. Konsep ini juga bisa digunakan untuk menghandle base objek yang selalu digunakan untuk mengeksekusi. Misalnya menggunakan DbConnection, Context dan lain-lainnya.
Berikut saya beri contoh untuk menghandle SqlConnection dari base class menggunakan konsep delegate. Pada dasarnya Koneksi ini akan hanya ditangani oleh base classnya sehingga turunan dari base class ini hanya perlu mendelegate fungsi dengan parameter koneksi ini.
public abstract class ContextDB 
{
        SqlConnection _con;
        public TResult UsingConnection(Func invoke)
        {
            if (_con == null)
                _con = new SqlConnection("CONECTION_STRING_HERE");

            lock (locker)
            {
                try
                {
                    _con.Open();
                    return invoke(_con);
                }
                finally
                {
                    _con.Close();
                    _con = null;
                }
            }
        }
}
Manfaat konsep delegate ini adalah object SqlConnection ini hanya dihandle oleh Base classnya. Turunan class ini tidak perlu memikirkan kapan harus membuat objek baru (instance) dari koneksi yang ing digunakan. Dari fungsi UsingConnection diatas saya sudah memvalidasi koneksi yang akan dilepar ke delegate method.
public class Employee : ContextDB
{
        public DataTable GetEmployee()
        {
            return base.UsingConnection(con =>{
            var cmd = con.CreateCommand();
            cmd.CommandText = "Select * from Employee";
            DataTable table = new DataTable();
            table.Load(cmd.ExecuteDataReader());
            return table;
            });
        }
}
Jadi, inilah contoh konsep delegate yang bisa sobat terapkan. Banyak hal yang bisa sobat manfaatkan dengan konsep delegate ini loh. Misalnya untuk handle event maupun objek apapun. Tidak harus koneksi saja. Saya hanya menyarankan jika objek tersebut digunakan berkali-kali maka sebaiknya sobat memanfaatkan konsep delage ini. Agar object tersebut hanya dihandle oleh base class saja.

Manfaat konsep delegate pada proses development

Dalam hal trouble shot ini akan mempermudah sobat menemukan solusinya. Misalnya contoh koneksi diatas. Jika terjadi masalah pada objek tersebut sobat bisa langsung trace kesalahan yang terjadi pada base class tersebut. Sehingga ini akan mempermudah proses sobat mencari solusi yang lebih baik.
Selain itu manfaatnya adalah tidak ada redudansi. Jika koneksi seperti contoh diatas tidak di handle pada base class maka sobat akan membuatnya secara berulang-ulang untuk melakukan query ke database. Banyak hal yang perlu sobat lihat seperti menentukan koneksi string, membuka koneksi dan menutupnya kembali setelah proses eksekusi selesai dilakukan. Jika tidak hati-hati justru proses ini akan membingunkan ketika sudah banyak yang sudah sobat buat. Oleh karena itu alangkah baiknya dibuat saja dan dihandle pada base class dan memanfaatkan konsep delegate ini.
3:24 PM Read more »
Free Asp.Net hosting for All Version .Net Framework

Asp.net Hosting
Hey Gwener's, What's Up!
Buat yang suka development Asp.Net kini sudah nih hosting gratis untuk tester maupun bisa langsung digunakan untuk public domain. Hosting ini selalu update versi .Net Framework. Sampai artikel ini saya buat Hosting ini sudah support .Net 4.5 dengan server 2012. Benar-benar teknologi yang upto date kan?. Baik tidak perlu basa basi lagi berikut saya jelaskan tentang hosting ini.

Free Asp.Net hosting

Berikut beberapa fasilitas yang akan sobat dapatkan dari paket free hosting ini. 1 x Hosting plan "Freebie"
  • Forced advertising
  • Storage capacity: 150MB
  • Monthly transfer: 5GB/Month
  • Web domains: 1
  • ASP.Net 4.5/4.0/3.5/2.0/1.1
  • AJAX 3.5/1.0
  • Silverlight
  • MS Access 2003, 2007
  • Dedicated web application pool
  • 1 x Email plan "Forwarder"
  • 1 x MS SQL Plan "Novice"
  • MS SQL database size: 15MB
  • MS SQL log size: 20MB
  • Backup storage size: 40MB
Menurut saya untuk sekedar digunakan sebagai website testing juga sudah lumayan. Storage dan database yang diberikan lumayan besar. Bahkan jika sobat ingin memanfaatkannya untuk website pribadi atau portal saya rasa sudah cukup. Somee.Com bisa sobat integrasikan dengan domain dari luar menggunakan NameServer mereka. Jadi tidak perlu modal besarkan untuk membuat sebuah website dengan Asp.Net ini. Cukup beli domain baru kemudian integrasikan saja dengan hosting yang satu ini.
Bagi sobat yang ingin ngeblog juga seperti blog ini tidak harus "ngoyo" harus gunakan Asp.Net. Sobat bisa memanfaatkan fitur dari blogger dan bisa diintegrasikan dengan domain baru. Seperti yang saya lakukan pada blog ini. Saya mereleasenya pada artikel Blog GweOne telah meluncur
3:18 PM Read more »
Cara membuat private SVN online untuk project development team

Private SVN Online
Hey Gwener's, What's Up!
Kebanyakan freelancer tidak memanfaatkan fitur source control untuk memanagement code mereka. Source Control sangat diperlukan jika dikerjakan sebagai team. Agar tidak terjadi missed dalam proses development tersebut. Source Control akan mengkompare dan mensinkronkan semua project code yang ada disetiap team.
Permasalahan yang muncul jika team berada pada lokasi yang berbeda-beda. Disini source control akan membantu menghubungkan mereka dan mengambil peran penting untuk memanage code yang dibuat. Namun source control ini mestinya sudah bisa online dan bisa diakses dari manapun. Pada artikel sebelumnya saya sudah memberikan contoh source control pada 3 Source Control online gratis untuk developer (Cloud Project) . Source tersebut memang gratis namun sifatnya publik, artinya semua orang bisa mengakses source control itu karena di share.
Untuk project development mestinya source control online hanya bisa diakses oleh team yang bekerja saja. Oleh karena itu perlu private Source control. Nah, jika sobat sering menggunakan SVN sebagai source control kini saya sudah mempunyai rekomendasi yang bisa sobat manfaatkan untuk proses development project. Penasaran? berikut detail informasinya.

Cara Membuat Private SVN dengan RiouxSVN

  1. Bergabunglah menjadi member RiouxSVN.com terlebih dahulu
  2. Buka menu Repositories dan buat lah repository baru untuk project sobat
  3. Gunakan Url SVN project untuk menghubungkan SVN lokal yang ada pada Laptop/PC sobat
    Url SVN Project

Dengan demikian sobat sudah bisa memanfaatkan SVN ini untuk project freelance yang sobat lakukan. Tidak perlu khawatir svn ini sifatnya Private hanya orang-orang yang telah menjadi member saja yang bisa mengaksesnya. Jadi lebih aman kan?
Untuk sobat yang lebih memilih .Net Project tidak perlu report menggunakan SVN ini loh. Gunakan saja TFS online dari visual studio. Sobat bisa langsung mengintegrasikannya dari Project Visual Studio langsung ke TFS ini. Layanan ini Gratis loh dan bersifat private untuk team member saja. Mau coba? baca saja disini Cara menggunakan Team Foundation Server (TFS) pada Visual Studio Online
8:00 AM Read more »
Sertifikat MCSD untuk .Net developer

MCSD Program
Hey Gwener's, What's Up!
Sebagai bentuk bukti sebagai .Net Developer tentu kita perlu memiliki sertifikat yang ini. MCSD (Microsoft Certified Solution Developer) ini merupakan program sertifikasi yang diberikan oleh microsoft untuk para .Net Developer. Bagi beberapa orang justru tidak mau mengambil sertifikat ini disamping masalah biaya juga alasan yang paling umum adalah harus mengikut training untuk bisa menyelesaikan Exam sertifikati ini.
Setiap sertifikat terdiri dari beberapa exam (ujian) yang mesti lulus. Sampai artikel ini dibuat batas mininum score kelulusan adalah 700. Penyelenggar sertifikasi ini adalah Prometric. Untuk di Indonesia sudah tersedia banyak tempat sertifikasi microsoft ini. Nah, mau tau apa saja yang perlu persiapkan untuk sertifikasi ini? baca disini Road to Microsoft Certified Solution Developer (MCSD)

4 Macam Sertifikasi MCSD

  1. MCSD - Application lifecycle management

    Sebagai tahapan awal untuk menjadi .Net Developer adalah memahami Lifecycle aplikasi atau yang sering disebut bisnis proses suatu recruirment. Microsoft memberikan standar ini untuk diimplementasikan menggukan IDE mereka yakni Visual Studio.
  2. MCSD - Windows Store Apps

    Teknologi yang memungkin lintas platform pun di rambah oleh microsoft. Windows Store adalah salah bentuk media promosi aplikasi berbasi .Net namun bisa dibangun menggunakan HTML maupun C#.Net.
  3. MCSD - Web Applications

    Website tentu sudah jadi hal yang familiar dikalangan umum, Tidak hanya developer saja. Perkembangan teknologi saat ini justru mengarah ke teknologi website. Semua aplikasi saat ini sudah berbasis online. Bentuk user interface yang umum digunakan adalah melalui suatu website. Sehingga seorang developer juga harus bisa memahami konsep Website ini.
  4. MCSD - SharePoint Applications

    SharePoint merupakan suatu platform dan bisa dibilang sebagai bentuk CMS dari Microsoft. Namun lebih dari itu banyak fitur yang disediakan oleh SharePoint ini. Sebagai developer mengusai sharepoint merupakan suatu tingkatkan yang sudah sangat baik.

Persiapan untuk Sertifikasi MCSD

Sebelum mengambil sertifikasi perlu persiapan yang matang agar bisa melewati ujian dengan hasil score yang memuaskan. Beberapa developer rela merogok kocek untuk mengikuti training. Namun ada juga perusahan yang memfasilitasi program sertifikasi ini gunakan peningkatan karir karyawannya.
Dikalangan individual tentu hal ini tergolong sulit. Perlu dana yang lumayan untuk mendapatkan sertikat ini. Jika sobat termasuk salah satu yang mengalami problema ini tidak perlu khwatir. Microsoft sebenarnya telah menyediakan suatu kursus online yang bisa diakses oleh siapapun dengan layanan gratis. Kursus ini bersifat tutorial dan juga ada beberapa event yang disiarkan secara langsung melaui website nya. Apa itu? Microsoft Virtual Academy (MVA) merupakan layanan yang berbagi informasi tentang semua produk microsoft. Untuk lebih lengkap sobat bisa baca disini Join with Microsoft Virtual Academy (MVA)
Untuk pemula dibidang .Net, MVA juga menyediakan tutorial yang menarik untuk pelajari. Menjadi .Net Developer tentu suatu hal yang membanggakan. Kita membangun apapun dengan framework yang satu ini. Bagi sobat yang pemula tidak ada salah mencoba memperlajari .Net. Saya punya rekomendasi bacaan yang bisa sobat gunakan sebagai referensi. Silahkan baca disini Beginner .Net developer course in Microsoft Virtual Academy (MVA)
8:00 AM Read more »
3 Source Control online gratis untuk developer (Cloud Project)

Source Control
Hey Gwener's, What's Up!
Sudahkah Sobat menggunakan Source Control untuk mendevelop aplikasi yang sedang dibuat?. Saya punya sedikit ilustrasi. Ketika kita mendevelop biasa permasalah akan muncul dipertengahan proses tersebut. Apa yang akan sobat lakukan jika ternyata coding yang sedang sobat kerjakan ternyata salah dan jauh berbeda dengan yang sebelumnya sudah benar. Tentu tidak ada masalah jika sobat sudah backupnya, namun apakah setiap saat sobat bisa melakukan backup ini secara kontinu? Bagaimana jika backup tersebut hilang. Bahkan saya yakin jarang sering developer mau menggunakan konsep ini dengan backup. Karena itu membutuh storage local yang besar. Sebenarnya fitur ini sudah handle oleh Source Control. Nah, Pengen tau? baca terus artikel ini.

Apa itu Source Control?

Source Control merupakan fasilitas yang bisa digunakan untuk memanagement file atau source tertentu dengan konsep versioning. Versioning disini maksudnya adalah membuat backup setiap kali ada perubahan yang dilakukan. Seperti yang saya jelaskan diatas. Sehingga hal ini akan membantu mentroubleshot ketika terjadi perbedaan file atau source yang telah kita ubah.
Source Control biasa akan membutuhkan storage yang besar. Karena proses selalu membuat backup perubahan yang telah dilakukan. Untuk perusahaan besar memang ini tidak begitu menjadi masalah. Namun dikalangan individual storage itu sangat mahal untuk skala besar. Kemajuan teknologi saat ini memungkinkan kita membuat project di Cloud atau disebut dengan istilah Cloud Project. Sehingga hanya membutuhkan koneksi internet kita bisa mendevelop project dari mana saja. Nah, berikut beberapa 3 Cloud Project yang sudah dilengkapi dengan source Control

3 Source Control online gratis

  1. Visual Studio Online (TFS Online)

    Buat sobat pencinta produk .Net tentunya visual studio sudah asing lagi. Namun tahukah sobat kini telah hadir source control online dari visual studio. TFS (Team Foundation Server) yang biasa selalu disandingkan dengan visual studio. Nah untuk informasi bagaimana menggunakan TFS online sobat bisa membaca dari Cara menggunakan Team Foundation Server (TFS) pada Visual Studio Online.
  2. CodePlex (Publish .Net Project)

    Sharing library ataupun project .net sudah hal yang lumrah dilakukan oleh para developer. CodePlex bisa dimanfaatkan untuk menunjang aktifitas ini. Selain itu CodePlex juga bisa digunakan untuk memperkenalkan produk yang sobat miliki yang sifatnya bentuk komersil.
  3. Google Code (Hosting file HTML)

    Mempunyai hosting tentu sangat bagus jika digunakan untuk file website. Banyaknya hosting gratis biasanya terbatas pada kuota storage maupun hanya pada masa trial saja. Sebagai perusahaan teknologi tersebsar google pun tidak mau kalah. Google Code adalah salah satu pilihan untuk hosting file yang bisa diakses kapanpun. Namun cara memenage file sedikit berbeda dengan cara hosting. Kalau biasanya menggunakna File Manager, Google Code justru menggunakan source control. Nah, fitur ini lah yang bisa sobat gunakan untuk membangun project di Google Code. Apapun filenya bisa digunakna pada Google Code ini.
Demikianlah macam Source Control yang bisa sobat gunakan untuk membangun aplikasi. Semoga bermanfaat.
8:00 AM Read more »
Publish .Net Project dengan CodePlex

Code Plex
Hey Gwener's, What's Up!
Berbagi informasi tentu sangat berguna bagi orang lain. Dunia developer tentunya identik dengan hal share ini. Bagi sobat yang merasa sudah mumpuni dan jago dibidang .net. Bisa berbagi cara coding maupun library kepada yang lainnya. Salah satu fasilitas yang bisa sobat gunakan adalah menggunakan CodePlex.
CodePlex merupakan layanan gratis berbagi project .Net. CodePlex juga sudah dilengkapi dengan Source Counter seperti TFS atau SVN tinggal sobat memilih saja sesuai dengan kebiasaan yang sobat gunakan. Nah, langsung saja saya akan jelas bagaimana menggunakan CodePlex ini

Cara Daftar CodePlex

CodePlex.com ini dihadirkan oleh microsoft sebagai solusi yang baik bagi para developer dalam melakukan proses development. Untuk menikmati layanan ini sobat harus memiliki Microsoft Account dulu. Jika sobat belum memilikinya saya ingin merekomendasikan sobat menggunakan account microsoft dengan domain GweOne.com ini. Untuk selengkapnya bisa baca melalui link berikut Get Microsoft Account with UserName@GweOne.com
Daftarkan microsoft account sobat pada codeplex melalui CodePlex.com. Kemudian buatlah project baru sesuai dengan project yang akan sobat buat. Saat membuat project ini sobat bisa menentukan SourceControl yang digunakan. Saya merekomendasikan menggunakan TFS (Team Foundation Server).
Create Porject CodePlex.com
Perlu diingat Project CodePlex yang baru dibuat harus sudah dilengkapi dengan informasi yang lengkap terutama Source code sudah harus tersedia. Waktu yang diberikan adalah 30 hari. Jika dalam waktu tersebut informasi belum dilengkapi project akan dihapus secara otomatis. hal ini bertujuan agar project sobat bisa dipublish secara umum sehingga membutuhkan informasi yang jelas mengenai project tersebut.

Menggunakan TFS pada CodePlex

Siapa yang tidak kenal TFS ini. Bagi developer .Net harusnya sudah familiar dengan TFS. TFS membantu dalam proses development project. Konsep versioning memang diperlukan dalam proses development untuk mempermudah troubleshot. TFS ini saat ini juga bisa di buat secara online melalui visual studio. Nah, sudahkah sobat memiliki account visual studio ini. Coba daftar sekarang! caranya ada disini Cara membuat Visual Studio online untuk cloud project.
TFS (Team Foundation Server) bisa sobat gunakan di visual studio. Untuk mendapatkan konfigurasi TFS sobat bisa lihat di Menu Source Code kemudia pilih menu Connect. Selanjutnya sobat akan menemukan informasi seperti gambar berikut
Connect TFS CodePlex.com
Tahukah sobat, Ternyata selain CodePlex ini ternyata ada juga Cloud Project yang bisa sobat manfaatkan dengan fitur Source Control juga, yaitu Google Code. Google Code memungkinkan kita melakukan hosting file. Nah, Mau tau caranya? baca disini Cara hoting gratis template HTML dengan Google Code
7:31 PM Read more »