Menu

Minggu, 15 Mei 2016

21 Numeric

Numeric adalah sebuah function (ada yang class) dimana berfungsi untuk memanipulasi angka. Terdapat banyak member numeric diantaranya adalah.

C# VB Keterangan
Math.Truncate Fix Menghilangkan desimal(dibelakang koma).
Math.Abs Math.Abs Mengganti Negative menjadi Positive.
Math.Sign Math.Sign Menguji bilangan Negatif, Nol atau Positif(diatas nol).
Convert.ToInt32 Val Mengganti String menjadi Value(angka).
Convert.ToString Str Mengganti Value(bisa selain value) menjadi String.
Math.Sqrt Math.Sqrt Mencari akar pangkat 2 dari sebuah angka.
Math.Round Math.Round Membulatkan bilangan keatas.
Convert.ToInt32 Int Membulatkan bilangan kebawah.
Math.Sin Math.Sin Menghitung Sinus dari sebuah bilangan.
Math.Cos Math.Cos Menghitung Cosinus dari sebuah bilangan.
Math.Tan Math.Tan Menghitung Tangen dari sebuah bilangan.
Math.Atan Math.Atan Menghitung Arctangent dari sebuah bilangan.
Math.Exp Math.Exp Mencari Exponential dari sebuah bilangan.
Math.Log Math.Log Mencari Logarithma dari sebuah bilangan.
Math.Max Math.Max Mencari nilai maksimal dari bilangan.
Math.Min Math.Min Mencari nilai minimal dari bilangan.
Random Rnd Membuat bilangan acak.
TIDAK ADA Randomize Membuat bilangan acak yang berbeda.

Dari table diatas dapat kita lihat Randomize dalam C# tidak tersedia, akan tetapi kita dapat menggunakan Random dan ditambah sedikit code untuk menghasilkan Randomize seperti dilam VB. Begitu juga untuk Convert.ToString, tidak hanya value yang dapat diubah menjadi string akan tetapi date, time, bool, dll pun bisa diubah menjadi string. Berikut contoh dari penggunaan dari table numeric diatas.

Menghilangkan Desimal

//C#
Math.Truncate(10.8); //hasilnya 10
Math.Truncate(10.57); //hasilnya 10
Math.Truncate(10.25); //hasilnya tetap 10
'VB
Fix(10.8) 'hasilnya 10
Fix(10.57) 'hasilnya 10
Fix(10.25) 'hasilnya tetap 10

Mengganti Negative Menjadi Positive

//C#
Math.Abs(-17); //hasilnya 17
Math.Abs(-8); //hasilnya 8
Math.Abs(-1945); //hasilnya 1945
'VB
Math.Abs(-17) 'hasilnya 17
Math.Abs(-8) 'hasilnya 8
Math.Abs(-1945) 'hasilnya 1945

Menguji Bilangan Negatif atau Positif
Math.Sign berapapun nilai negatifnya maka akan menampilkan -1, jika 0 tetap hasilnya 0, jika berapun nilai positifnya hasilnya tetap 1.

//C#
Math.Sign(10); //hasilnya 1(bukan 10)
Math.Sign(0); //hasilnya 0
Math.Sign(-7); //hasilnya -1(bukan -7)
'VB
Math.Sign(10) 'hasilnya 1(bukan 10)
Math.Sign(0) 'hasilnya 0
Math.Sign(-7) 'hasilnya -1(bukan -7)

Mengganti String Menjadi Value

//C#
String a = "100";
a + a; //hasilnya 100100
Convert.ToInt32(a) + Convert.ToInt32(a); // hasilnya 200
'VB
Dim a As String = "100"
a + a 'hasilnya 100100 
val(a) + val(a) 'hasilnya 200

Mengganti Value Menjadi String

//C#
int b = 1000;
b + b; //hasilnya 2000
Convert.ToString(b) + Convert.ToString(b); //hasilnya 10001000
'VB
Dim b as Integer = 1000
b + b 'hasilnya 2000
str(b) + str(b) 'hasilnya 10001000

Mencari Akar pangkat 2

//C#
Math.Sqrt(16); //hasilnya 4
Math.Sqrt(4); //hasilnya 2
'VB
Math.Sqrt(16) 'hasilnya 4
Math.Sqrt(4) 'hasilnya 2

Membulatkan Bilangan Keatas
Math.Round akan membulatkan bilangan keatas apabila nilai desimal(dibelakang koma) 6 sampai 9 , bila 1-5 maka akan dibulatkan kebawah.

//C#
Math.Round(10.7); //hasilnya 11
Math.Round(10.2); //hasilnya 10
'VB
Math.Round(10.7) 'hasilnya 11
Math.Round(10.2) 'hasilnya 10

Membulatkan Bilangan Kebawah
Berapapun nilai desimal yang ada 1-9 akan tetap dibulatkan kebawah.
//C#
Convert.ToInt32(10.7); //hasilnya 10
Convert.ToInt32(10.2); //hasilnya 10
'VB
Int(10.7) 'hasilnya 10
Int(10.2) 'hasilnya 10

Menghitung Sin, Cos, Tan, Atn, Exp, Log
Untuk menghitung Sin, Cos, Tan, Atn dari suatu bilangan hasilnya adalah radian. Agar hasilnya dalam bentuk derajat, maka dibuatlah rumus dengan dikalikan pi(22/7) setalah itu dibagi dengan 180.
//C#
Math.Sin(30*((22/7)/180)); //hasilnya 0,50018250219967
Math.Cos(30*((22/7)/180)); //hasilnya 0,86592001044743
Math.Tan(30*((22/7)/180)); //hasilnya 0,57763130100345
Math.Atn(30*((22/7)/180)); //hasilnya 0,482347907154682

//untuk mencari exp suatu bilangan contoh 
Math.Exp(0); //hasilnya 1
Math.Exp(1); //hasilnya 2,71828182845905


Math.Log(100); //hasilnya 4,60517018598809
/* untuk Log dengan bilangan dasar 10
 * kita tidak dapat menggunakan Math.Log
 * tetapi menggunakan Math.Log10
 * contohnya sebagai berikut
 */
Math.Log10(100); //hasilnya 2
'VB
Math.Sin(30*((22/7)/180))  'hasilnya 0,50018250219967
Math.Cos(30*((22/7)/180))  'hasilnya 0,86592001044743
Math.Tan(30*((22/7)/180))  'hasilnya 0,57763130100345
Math.Atn(30*((22/7)/180))  'hasilnya 0,482347907154682

//untuk mencari exp suatu bilangan contoh 
Math.Exp(0)  'hasilnya 1
Math.Exp(1)  'hasilnya 2,71828182845905


Math.Log(100)  'hasilnya 4,60517018598809
'untuk Log dengan bilangan dasar 10
'kita tidak dapat menggunakan Math.Log
'tetapi menggunakan Math.Log10
'contohnya sebagai berikut

Math.Log10(100)  'hasilnya 2

Mencari Nilai Maksimal dan Minimal 

//C#
Math.Max(100,99); //hasilnya 100
Math.Min(100,99); //hasilnya 99
'VB
Math.Max(100,99) 'hasilnya 100
Math.Min(100,99) 'hasilnya 99

Membuat Bilangan Acak

//C#
Random acak = new Random();
acak.Next(10) //atau menggunakan acak.Next(1, 10)
//hasilnya akan menampilkan bilang acak antara 1 sampai 10
'VB
Dim acak As Byte = 10
Randomize()
Rnd() * acak
'hasilnya akan menampilkan bilang acak antara 1 sampai 10

Contoh Soal
Sekarang buatlah 1 project dengan nama cs_10numeric(untuk C#) atau vb_10numeric(untuk vb), kemudian masukan 11 button kedalam form seperti gambar 21.1 dibawh ini.

 Gambar 21.1

Klik 2x masing masing button, kemudian ketikan code berikut.

//C#
        private void button1_Click(object sender, EventArgs e)
        {
            MessageBox.Show(Math.Truncate(10.8).ToString());
            MessageBox.Show(Math.Truncate(10.57).ToString());
            MessageBox.Show(Math.Truncate(10.25).ToString());
        }

        private void button2_Click(object sender, EventArgs e)
        {
            MessageBox.Show(Math.Abs(-17).ToString());
            MessageBox.Show(Math.Abs(-8).ToString());
            MessageBox.Show(Math.Abs(-1945).ToString());
        }

        private void button3_Click(object sender, EventArgs e)
        {
            MessageBox.Show(Math.Sign(10).ToString());
            MessageBox.Show(Math.Sign(0).ToString());
            MessageBox.Show(Math.Sign(-7).ToString());
        }

        private void button4_Click(object sender, EventArgs e)
        {
            String a = "100";
            MessageBox.Show(a + a);
            MessageBox.Show((Convert.ToInt32(a) + Convert.ToInt32(a)).ToString());
        }

        private void button5_Click(object sender, EventArgs e)
        {
            int b = 1000;
            MessageBox.Show((b + b).ToString());
            MessageBox.Show(Convert.ToString(b) + Convert.ToString(b));
        }

        private void button6_Click(object sender, EventArgs e)
        {
            MessageBox.Show(Math.Sqrt(16).ToString());
            MessageBox.Show(Math.Sqrt(4).ToString());
        }

        private void button7_Click(object sender, EventArgs e)
        {
            MessageBox.Show(Math.Round(10.7).ToString());
            MessageBox.Show(Math.Round(10.2).ToString());
        }

        private void button8_Click(object sender, EventArgs e)
        {
            MessageBox.Show(Convert.ToInt32(10.7).ToString());
            MessageBox.Show(Convert.ToInt32(10.2).ToString());
        }

        private void button9_Click(object sender, EventArgs e)
        {
            MessageBox.Show(Math.Sin(30 * ((22 / 7) / 180)).ToString());
            MessageBox.Show(Math.Cos(30 * ((22 / 7) / 180)).ToString());
            MessageBox.Show(Math.Tan(30 * ((22 / 7) / 180)).ToString());
            MessageBox.Show(Math.Atan(30 * ((22 / 7) / 180)).ToString());
            MessageBox.Show(Math.Exp(0).ToString());
            MessageBox.Show(Math.Exp(1).ToString());
            MessageBox.Show(Math.Log(100).ToString());
            MessageBox.Show(Math.Log10(100).ToString());
        }

        private void button10_Click(object sender, EventArgs e)
        {
            MessageBox.Show(Math.Max(100, 99).ToString());
            MessageBox.Show(Math.Min(100, 99).ToString());
        }

        private void button11_Click(object sender, EventArgs e)
        {
            Random acak = new Random();
            MessageBox.Show(acak.Next(10).ToString());
        }
'VB
    Private Sub button1_Click(sender As Object, e As EventArgs) Handles button1.Click
        messagebox.Show(fix(10.8))
        messagebox.Show(Fix(10.57))
        messagebox.Show(Fix(10.25))
    End Sub

    Private Sub button2_Click(sender As Object, e As EventArgs) Handles button2.Click
        messagebox.Show(Math.Abs(-17))
        messagebox.Show(Math.Abs(-8))
        messagebox.Show(Math.Abs(-1945))
    End Sub

    Private Sub button3_Click(sender As Object, e As EventArgs) Handles button3.Click
        messagebox.Show(Math.Sign(10))
        messagebox.Show(Math.Sign(0))
        messagebox.Show(Math.Sign(-7))
    End Sub

    Private Sub button4_Click(sender As Object, e As EventArgs) Handles button4.Click
        Dim a As String = "100"
        messagebox.Show(a + a)
        messagebox.Show(val(a) + val(a))
    End Sub

    Private Sub button5_Click(sender As Object, e As EventArgs) Handles button5.Click
        Dim b as Integer = 1000
        messagebox.Show(b + b)
        messagebox.Show(str(b) + str(b))
    End Sub

    Private Sub button6_Click(sender As Object, e As EventArgs) Handles button6.Click
        messagebox.Show(Math.Sqrt(16))
        messagebox.Show(Math.Sqrt(4))
    End Sub

    Private Sub button7_Click(sender As Object, e As EventArgs) Handles button7.Click
        messagebox.Show(Math.Round(10.7))
        messagebox.Show(Math.Round(10.2))
    End Sub

    Private Sub button8_Click(sender As Object, e As EventArgs) Handles button8.Click
        messagebox.Show(Int(10.7))
        messagebox.Show(Int(10.2))
    End Sub

    Private Sub button9_Click(sender As Object, e As EventArgs) Handles button9.Click
        messagebox.Show(Math.Sin(30*((22/7)/180)))
        messagebox.Show(Math.Cos(30*((22/7)/180)))
        messagebox.Show(Math.Tan(30*((22/7)/180)))
        messagebox.Show(Math.Atan(30*((22/7)/180))) 
        messagebox.Show(Math.Exp(0))
        messagebox.Show(Math.Exp(1))
        MessageBox.Show(Math.Log(100))
        MessageBox.Show(Math.Log10(100))
    End Sub

    Private Sub button10_Click(sender As Object, e As EventArgs) Handles button10.Click
        MessageBox.Show(Math.Max(100,99))
        MessageBox.Show(Math.Min(100,99))
    End Sub

    Private Sub button11_Click(sender As Object, e As EventArgs) Handles button11.Click
        Dim acak As Byte = 10  
        Randomize()  
        MessageBox.Show(int(Rnd() * acak))
    End Sub

Jalakan program kemudian cobalah masing masing button. Sampai disini sample dari Numeric next kita akan membahas Type Conversion.
Password: csvb2015.blogspot.co.id

Tidak ada komentar :

Posting Komentar