Selasar Inspirasi

KURBAN v.1 [Aplikasi Pengukur Berat Badan]



Ingin tahu berat badanmu apakah sudah ideal atau belum ?, coba cek dulu :)
image 
source picture: facebook.com

untuk mempermudah perhitungan, mari kita buat aplikasi sederhana-nya dengan c# :)
1. Buat Windows Forms Application seperti berikut
image 
Gambar bisa diganti sesuka hati
2. Klik kanan pada Windows Forms Application –> view code, tambahkan code sehingga menjadi seperti berikut
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace Kurban
{
    public partial class FormKurban : Form
    {

        double a, b, result;

        public FormKurban()
        {
            InitializeComponent();
        }

        private void FormKurban_Load(object sender, EventArgs e)
        { 

        }

        private void txtInput1_TextChanged(object sender, EventArgs e)
        {
            if (txtInput1.Text != "" && txtInput2.Text != "")
            {
                a = Convert.ToDouble(txtInput1.Text);
                b = Convert.ToDouble(txtInput2.Text);
                result = a / Math.Pow(b, 2);
                if (result < 10.5) { label6.Text = "Anda Kurus"; }
                else if (result >= 10.5 && result <= 24.9) { label6.Text = "Anda Ideal"; }
                else if (result >= 25.0 && result <= 29.9) { label6.Text = "Anda Tembem"; }
                else if (result >= 30.0 && result <= 34.9) { label6.Text = "Anda Agak Gendut"; }
                else if (result >= 35.0 && result <= 39.9) { label6.Text = "Anda Gendut"; }
                else if (result > 40.0) { label6.Text = "Anda Sangat Gendut"; }
            }
            else { label6.Text = "Input data belum lengkap"; } 
        }
      }
    }

Setelah selesai, klik kanan label6 –> properties, pada bagian events pilih ParentChanged, pilih txtInput1_TextChanged, dengan demikian txtInput2 mampu melakukan operasi yang sama dengan txtInput1 tanpa perlu melakukan code ulang.
image
Terakhir, Jalankan Program..Semoga bermanfaat :)
image
Bagi yang menginginkan programnya, bisa download disini :)
[Read More...]


Tipe Data pada C# (Lanjutan)



1. Local Type Inference
-Merupakan fitur baru pada C# 3.0.
-mirip dengan pendeklarasian variabel pada bahasa scripting seperti JavaScript.
-Dengan Local Type Inference, Anda tidak perlu mendeklarasikan tipe data dari variabel, tapi nilai variabelnya harus langsung diberi nilai.
-Local Type Inference pada C# menggunakan Keyword var.
-Hanya berlaku di method scope
Demo Program
1. Buat Project baru, kemudian buat form seperti berikut
image 
Double klik btnInference, tambahkan code berikut
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace TipeData2
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void btnInference_Click(object sender, EventArgs e)
        {
            var bil1 = 1;
            var nama = "Arif";
            var tanggal = new DateTime(1990, 05, 02);
            var cek = true;
            var bil2 = 1.0;
            MessageBox.Show(bil1.GetType().ToString());
            MessageBox.Show(nama.GetType().ToString());
            MessageBox.Show(tanggal.GetType().ToString());
            MessageBox.Show(cek.GetType().ToString());
            MessageBox.Show(bil2.GetType().ToString());
        }
    }
}

Jalankan Program, maka terlihat tipe data dari masing-masing nilai variabelimage

2. Enumeration

- merupakan kumpulan konstanta yg mempunyai nilai tetap
- memudahkan pembacaan kode
- digunakan sebagai input pilihan

Demo Program
- Tambahkan button btnEnumeration ke form aplikasi yg sudah dibuat.
image
- Double klik btnEnumeration, tambahkan code berikut:

enum Warna { Merah, Kuning, Biru };

        private void btnEnumeration_Click(object sender, EventArgs e)
        {
            Warna enumWarna = Warna.Merah;
            switch (enumWarna) { 
                case Warna.Merah:
                    MessageBox.Show("this is red");
                    break;
                case Warna.Kuning:
                    MessageBox.Show("this is yellow");
                    break;
                case Warna.Biru:
                    MessageBox.Show("this is blue");
                    break;
            }

Jalankan program, dan lihat hasilnya
image

3. Konvesi Tipe Data - merubah satu tipe data ke tipe data lain
- ada 2 jenis konversi tipe data:
> Implicit Conversion
- Otomatis dikonversi
- Widening Conversion, yaitu konversi dari tipe data yang lebih kecil ke tipe data yang lebih besar –> No Problem .. Contoh: from int to long.
- Narrowing Conversion, yaitu konversi dari tipe data yang lebih besar ke tipe data yang lebih kecil –> Overflow Exception. Agar tidak terjadi error perlu menggunakan explicit conversion (casting).
> Explicit Conversion
- Convert Class (Convert.ToInt32(), Convert.ToDouble())
- sebagai keyword (untuk tipe yang kompatibel): string s = someObject as string;
- Casting: (string) someObject;

Demo Program
- Tambahkan btnConversion ke form aplikasi yang sudah dibuat
image
- Double klik btnConversion, tambahkan code berikut:

 private void btnConversion_Click(object sender, EventArgs e)
        {
            int bil1 = 5;
            float bil2 = bil1;
            MessageBox.Show(bil2.ToString()); //implicit conversion
            float bil3 = 2.5f;
            int bil4 = (int)bil3;
            MessageBox.Show(bil4.ToString()); //casting (explicit conversion)
        }

Jalankan Program dan lihat hasilnya.
image 
4. Boxing dan UnBoxing
- Boxing = tipe data value (value type) diubah menjadi tipe data objek (reference type)
- UnBoxing = tipe data objek (reference type) dikembalikan menjadi tipe data value (value type)
- Untuk melakukan boxing dibutuhkan konversi implicit atau explicit
- Untuk melakukan unboxing dibutuhkan koversi explicit
- Tidak disarankan penggunaan boxing dan unboxing karena menyebabkan penurunan performa program

Demo Program
- Tambahkan btnConversion ke form aplikasi yang sudah dibuat
image
- Double klik btnBoxing, Tambahkan namespace System.Collections karena kita akan menggunakan class ArrayList
image
Tambahkan juga code berikut

private void button1_Click(object sender, EventArgs e)
        {
            ArrayList arrBil = new ArrayList();
            arrBil.Add(10);
            arrBil.Add(25);
            arrBil.Add(30);
            for (int i = 0; i < arrBil.Count; i++) {
                int bil = Convert.ToInt32(arrBil[i]);
                MessageBox.Show(bil.ToString());
            }
        }

Hasil Program ketika dijalankan
image
Kode diatas menunjukkan proses Boxing dan UnBoxing ketika menggunakan ArrayList.

Pada saat menggunakan method ‘Add’, maka proses Boxing terjadi yaitu dari value type (int) menjadai reference type (objek). Pada kalang for terjadi Unboxing yaitu dari reference type (objek) menjadi value type (int) lagi. Proses tersebut menyebabkan performa program menjadi lambat.
Untuk mengatasi hal tersebut, pada C# versi 2.0 keatas, kita dapat menggunakan Strongly Typed Collection. Untuk pengganti Array List dapat menggunakan Collection List<T>

Contoh penggunaan List<T>
private void button1_Click(object sender, EventArgs e)
        {
            List objNama = new List();
            objNama.Add("Arif");
            objNama.Add("Rohmadi");

            foreach (string nama in objNama) {
                MessageBox.Show(nama);
            }
        }

referensi: geeks.netindonesia.net
[Read More...]


Tipe data pada C#



Terdapat 2 tipe data pada C#, yaitu tipe data value dan tipe data reference,
Tipe Data Value - disimpan pada stack memory
- non Garbage Collected
- Diturunkan dari System.ValueType namespace
- perubahan satu nilai pada variabel tidak berpengaruh pada nilai variabel yang lain

Yang termasuk tipe data value:
> Simple Types - signed: sbyte, short, int, long
- unsigned: byte, ushort, uint, ulong
- unicode characters: char
- floating point: float, double
- high precision: decimal
- boolean: bool
> Enum Types
- user defined type: enum e {….}
> Struct Types
- user defined type: struct {…}
image

Demo Program:
-Buat Project baru: File –> New Project –> Visual C# –> Windows Forms Application, beri nama TipeData -Buat Form seperti berikut
image
-Double klik Value Type, tambahkan kode sehingga menjadi seperti berikut
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace TipeData
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void btnValue_Click(object sender, EventArgs e)
        {
            int bil1 = 10, bil2;
            bil2 = bil1;
            MessageBox.Show(“bilangan 2: ”+ bil2.ToString());
            bil2 = 25;
            MessageBox.Show(“bilangan 1: ”+ bil1.ToString());
        }
    }
}

Jalankan Program, dan lihat hasilnya
image

terlihat perubahan pada bil2 tidak berpengaruh pada bil1.

Tipe Data Reference - Dialokasikan di Heap Memory
- Garbage Collected
- Diturunkan dari System.Object namespace
- satu object dapat direferensi oleh lebih dari satu variabel
- Perubahan nilai pada object referensi yang sama akan mempengaruhi nilai pada object lainnya

Yang termasuk tipe data reference
> Class types
- base class dari semua class: Object
- unicode strings : string
- user defined typed: class C {…}
> Interface types
- user defined types: interface I {…}
> Array types
- single dan multidimensional : int[] dan int[,]
> Delegate types
- delegate TD {…}

Demo Program:
- Tambahkan 1 button baru ke form aplikasi yang sudah dibuat sebelumnya
image

- Buat class baru dengan nama mahasiswa: Klik kanan namespace TipeData –> Add Class –> beri nama Mahasiswa.cs
-Tambahkan code berikut pada Mahasiswa.cs (untuk mempercepat pembuatan property, dapat memanfaatkan fitur automatic property yang ada pada .NET Framework versi 3 keatas (ketik prop + tombol tab)).

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

namespace TipeData
{
    class Mahasiswa
    {
        public string nim { get; set; } //memanfaatkan fitur automatic property
        public string nama { get; set; }
    }
}

- Double klik tombol btnReference, tambahkan code berikut:

 private void btnReference_Click(object sender, EventArgs e)
        {
            Mahasiswa mhs1 = new Mahasiswa();
            mhs1.nim  = "M0508042";
            mhs1.nama = "Gilang Romadhon Aprianto";
            Mahasiswa mhs2 = mhs1;
            MessageBox.Show("Nama Mahasiswa 2: "+mhs2.nama);
            mhs2.nama = "Arif Rohmadi";
            MessageBox.Show("Nama Mahasiswa 1: "+mhs1.nama);

        }

Jalankan Program, dan lihat hasilnya
image 
Terlihat perubahan nilai pada pada mhs2.nama berpengaruh terhadap mhs1.nama karena keduanya mengacu pada object referensi yang sama.

Referensi
geeks.netindonesia.net

[Read More...]


Membuat Program Sederhana – Dilly [Drink Ideally]



Patokan ideal minum air bersih per hari :
tubuh kita perlu air bersih 3 liter/100kg berat badan/hari
Sekarang kita coba buat program sederhana untuk menghitungnya (menggunakan C#)
1. Buka Microsoft Visual Studio 2008 –> File –> New Project –> Visual C# –> Windows From Application –> beri nama sesuai keinginan
2. Buat Windows Form seperti berikut:
 image
3. Double klik textBox1, tambahkan code sehingga menjadi seperti berikut
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        double a;
        double result = 0;
        
        
        public Form1()
        {
            InitializeComponent();
        }

    private double Hitung(double a){
        return (a*3)/100;
    }

   
        private void textBox1_TextChanged(object sender, EventArgs e)
        {
            if (textBox1.Text == "") { a = 0; label4.Text = ""; }
            else
            {
            a = Convert.ToDouble(textBox1.Text);
            result = Hitung(a);
            label4.Text= result.ToString();}
            
        }
    }
}

4. Selesai, jalankan program dengan menekan F5,
Anda akan tau berapa liter air bersih yg sebaiknya diminum per hari sesuai berat badan Anda :)
image
Untuk Program tersebut dapat didownload
disini
[Read More...]


C# Basic



C# (C Sharp) merupakan salah satu bahasa pemrograman yang didesain secara khusus untuk lingkungan .NET Framework.
Language Designer C# : Anders Hejlsberg

Language Style Syntax berdasarkan C (mirip C++ dan Java)
- Case sensitive (Memperhatikan besar kecil huruf)
- spasi tidak diperhatikan, jadi baik kita menggunakan spasi yang panjang maupun pendek akan sama saja
- setiap statements diakhiri dengan ;
- blok kode diawali dengan { dan diakhiri dengan }
Beriorientasi pada objek (Object Oriented)

Kompilasi Kompilasi C# dapat secara auto lewat Visual Studio.NET dengan menekan F5, dapat juga secara manual menggunakan csc.exe yang terdapat dalam .NET Framework SDK

Struktur Program C# > Namespaces
- terdiri dari type atau namespace yang lain
- sebuah namespace merepresentasikan sekumpulan types secara logical
image
> Type declarations
- Classes, structs, interfaces, enums, dan delegates
> Members
- Constants, fields, methods, properties, indexers, events, operators, constructors, destructors
> Main Methods
- Entry poin dari program yang akan dijalankan pertama kali

Variabel variabel merupakan tempat penyimpanan data sementara di memori
> Single Declaration:
- string nama;
- string nama=”pembelajar c#”;
> Multiple Declaration:
- int umur, int jumlah;
- int umur, int jumlah = 0;

Variable Scope (Jangkauan Variabel)
image 
Variabel yang ada di lingkup namespace/class dapat diakses oleh level variabel dibawahnya, dan begitu seterusnya. Sedangkan variabel level block, hanya dapat diakses pada block tersebut.

Komentar pada C# Bagian komentar tidak akan disertakan dalam proses kompilasi
Komentar 1 baris, dapat menggunakan: // isi komentar
Komentar untuk lebih dari 1 baris, dapat menggunakan: /* isi komentar */

Basic I/O
image 

Demo Program: Membuat Aplikasi C# dengan Notepad dan CSC 1.Buka notepad, dan ketikkan kode berikut:
using System;
namespace CSharp
{
    class ProgramUmur
    {
        static void Main(string[] args)
        {
            Console.Write("Masukkan Nama Anda : ");
            string nama = "";
            nama = Console.ReadLine();
            
            Console.Write("Masukkan Tahun Lahir Anda : ");
            int tahunLahir = 0;
            tahunLahir = Convert.ToInt16(Console.ReadLine());
            
            Console.WriteLine(); //menambahkan baris, berfungsi layaknya enter
            
            //menghitung umur
            int umur = DateTime.Now.Year - tahunLahir;
            
            Console.WriteLine("Hai "+nama+ ", umur Anda sekarang "+umur);
            Console.ReadKey(); /* jendela aplikasi tidak akan tertutup 
sampai ditekan salah satu tombol pada keyboard */
        }
    }
}
Simpan dengan nama ProgramUmur.cs

2. Tambahkan Path ke Environtment Variables Windows, sehingga compiler C# (csc.exe) dapat otomatis terdeteksi oleh command prompt (cmd.exe): 

Buka Windows Explorer (Penulis menggunakan Windows 7), klik kanan Computer –> Properties –> Advanced system settings –> Environment Variables –>System Variables –> Edit Path –> tambahkan C:\Windows\Microsoft.NET\Framework\v3.5 
image

3. buka command prompt –> ketikkan lokasi dimana file ProgramUmur.cs disimpan, compile file dengan cara “ketik csc ProgramUmur.cs”.
image 

Maka akan terbentuk file ProgramUmur.exe yang dapat dijalankan :)
image 

Referensi: geeks.netindonesia.net
[Read More...]


C# Fundamental



Sebelum menginjak ke C# terlebih dahulu kita perlu mengetahui fundamental dari C#. Salah satu tools yang digunakan untuk mempermudah pemrograman dengan C# adalah Visual Studio .Net (Penulis menggunakan Microsoft Visual Studio 2008).

Apa .Net Framework itu ?
- merupakan kumpulan teknologi yang memudahkan developer membuat aplikasi dalam lingkungan dan device yang beragam.
Terdapat 2 komponen utama pada .NET Framework:
- Common Language Runtime (CLR)
- Base Class Library

CLR
CLR merupakan jantung dari .NET Framework. Tugas utamanya mengkonversi kode MSIL (Microsoft Intermediate Language) menjadi native code. Proses kompilasi terjadi pada saat aplikasi dijalankan, biasa disebut JIT (Just In Time) Compilation.
Arsitektur CLR
image

Kurang lebih model eksekusi source code pada Common Language Runtime adalah sebagai berikut:
 image

Source code pada pemrograman .NET (Visual Basic, C#, dll) tidak dapat dijalankan langsung oleh operating system. Hasil kompilasi kode pemrograman .NET berupa IL (Intermediate Language), sehingga apapun bahasa pemrograman .NET yang kita pilih (Visual Basic, C#, dll) akan menghasilkan IL yang sama.
saat eksekusi, IL akan diubah JIT compiler menjadi native code sehingga dapat berjalan di sistem operasi.

Base Class Library (BCL)
- BCL merupakan pustaka standar yang tersedia untuk semua bahasa pemrograman pada .NET
- Terdapat kumpulan tipe data dan kelas yang terintegrasikan dengan CLR
- BCL tersusun dan dikategorikan oleh Namespace seperti: System, System.IO, System.Collections, System.Net, dll
IDE (Integrated Development Environment) merupakan tools yang membantu mempermudah programmer mengembangkan perangkat lunak (software).

Demo Program (Menggunakan Visual Studio 2008)
1. Membuat Class Library (dll) aritmatik dengan C#
terlebih dahulu buat project solution:
File –> New Project –> Other Project Types –> Visual Studio Solutions –> beri nama DotNet1 (Untuk .Net Framework pilih 3.5) –> Ok
image

Lanjut membuat Class Library dengan C#:
Pada Solution Explorer, klik kanan DotNet1 –> Add New Project –> Visual C# –> Windows –> Class Library –> beri nama ArithmeticLibrary –> OK
Rename Class1.cs dengan Operation.cs, lalu ketik code berikut
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ArithmeticLibrary
{
    public class Operation
    {
        public int Tambah(int a, int b) {
            return a + b;
        }
        public int Kurang(int a, int b) {
            return a - b;
        }
    }
}

Setelah selesai, klik kanan ArithmeticLibrary –> Build. Bila sukses maka pada panel kiri bawah akan muncul tulisan Build succeeded


2. Membuat Windows Form Application dengan Bahasa VB.NET
Pada Solution Explorer, klik kanan DotNet1 –> Add New Project –> Other Languages –> Visual Basic –> Windows Forms Application, beri nama WinVB –> OK

Buat Windows Form seperti berikut:
image

Tambahkan Referensi ArithmeticLibrary: Klik kanan WinVB –> Add Reference.. –> Projects –> ArithmeticLibrary –> OK

Double Click Tombol Hasil, tambahkan code untuk operasi aritmatika sederhana (Penambahan)

Imports ArithmeticLibrary

Public Class Form1
    Private Sub btnHasil_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnHasil.Click
        Dim a, b As Integer
        a = CInt(TextBox1.Text)
        b = CInt(TextBox2.Text)
        MessageBox.Show(New Operation().Tambah(a, b))
    End Sub
End Class


Setelah selesai, set WinVB sebagai startup project: Klik kanan WinVB –> Set as StartUp Project. Jalankan Program: Starts Debugging (Bisa tekan F5)
image


3. Membuat Website dengan Bahasa C#
Pada Solution Explorer, klik kanan DotNet1 –> Add New Website.. –> ASP.NET Website, pilih Language: Visual C#, berinama CSWeb –> OK

Tambahkan Referensi ArithmeticLibrary: Klik kanan CSWeb –> Add Reference –> Projects –> ArithmeticLibrary –> OK

Ubah kode program HTML pada Default.aspx sehingga dapat untuk melakukan operasi aritmatika sederhana.

Drag 2 buah TextBox dan 1 buah Button ke source code, maka akan otomatis berubah menjadi code

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        -
        <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
        <asp:Button ID="btnHasil" runat="server" Text="Hasil" />
    </div>
    </form>
</body>
</html>


Klik Tab Design –> maka akan dihasilkan form seperti berikut:

image

Double klik Tombol Hasil, tambahkan kode untuk operasi aritmatika sederhana (pada kasus ini diambil contoh operasi pengurangan)

using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using ArithmeticLibrary;

public partial class _Default : System.Web.UI.Page 
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void btnHasil_Click(object sender, EventArgs e)
    {
        int a, b;
        a = Convert.ToInt32(TextBox1.Text);
        b = Convert.ToInt32(TextBox2.Text);
        Response.Write(new Operation().Kurang(a, b));

    }
}

Setelah selesai, klik kanan CSWeb –> Build Website. Klik kanan lagi CSWeb –> View in Browser..
Bila sukses maka akan tampil seperti berikut: (pada tampilan berikut input angka yang dimasukkan 7 dan 2)

image


Referensi:
geeks.netindonesia.net
[Read More...]


 
Return to top of page Copyright © 2010 | Platinum Theme Converted into Blogger Template by HackTutors