Modul Pemrograman Rocky
Modul Pemrograman Rocky
Oleh
Nama
NIP
198505292012121004
1. Pilih Visual C#
Toolbox
Sebagai contoh pada gambar di atas, digunakan 2 buah toolbox yakni label1 dan button1. Untuk
menampilkan sesuatu tulisan pada label1 pada saat button1 ditekan maka caranya nya adalah lakukan
double klik pada button1 maka akan source code seperti pada gambar di bawah
Untuk menggunakan label maka cukup ketikkan syntax label1 diikuti dengan titik pada source
code anda, maka akan muncul pilihan lalu pilih Text. Seperti pada gambar di bawah :
Hal yang sama juga dilakukan untuk semua toolbox yang lain atau semua function yang ada
pada c#. Isikan syntax : label1.Text =nama saya rocky; seperti pada source code di bawah
Untuk melihat hasilnya lakukan eksekusi program (menjalankan program) dengan melakukan
klik pada tombol start
Klik disini untuk run
Setelah tombol run di klik maka akan muncul window hasil eksekusi program seperti pada gambar di
bawah
B. TIPE DATA C#
Tipe data bawaan terdiri atas tipe-tipe sebagai berikut beserta penjelasannya:
1. byte : merupakan tipe data untuk menyatakan bilangan dengan nilai range yang bisa
dinyatakan dalam 8 bit biner dan hanya berisi bilangan non-negatif.
2. sbyte : sama dengan byte hanya saja bisa berisi bilangan negatif.
3. short : merupakan tipe data untuk menyatakan bilangan dengan kapasitas penyimpanan
sampai 16 bit biner ( 2 bytes ) dan bisa berisi bilangan negatif.
4. ushort : sama dengan short tetapi hanya berisi bilangan non-negatif.
5. int : merupakan tipe data bilangan dengan kapasitas penyimpanan 4 byte, dan bisa
digunakan untuk menyimpan bilangan negatif.
6. uint : sama dengan tipe data int, perbedaannya adalah hanya bisa digunakan untuk
menyimpan bilangan non-negatif.
7. long : tipe data bilangan dengan besaran 8 byte, dan bisa digunakan untuk menyimpan
bilangan negatif.
8. ulong : sama dengan tipe data long hanya saja dikhususkan untuk bilangan non-negatif.
9. float : merupakan tipe data yang digunakan untuk menyimpan bilangan pecahan dengan
kapasitas penyimpanan 4 byte.
10. double : merupakan tipe data yang sama dengan float hanya memiliki tingkat precisi
yang lebih tinggi dan dengan kapasitas penyimpanan 8 byte.
11. decimal : merupakan tipe data yang digunakan untuk menyimpan bilangan decimal
dengan kapasitas penyimpanan 8 byte
12. char : merupakan tipe data yang digunakan untuk menyimpan karakter unicode, yaitu
karakter yang dinotasikan dengan 2 byte.
13. string : merupakan kumpulan karakter unicode (string), yang setiap karakternya
dinyatakan dengan 2 byte.
14. boolean : merupakan tipe data yang digunakan untuk menyimpan nilai benar (true) dan
salah (false).
Deklarasi variabel panjang,lebar dan luas bertipe double
Pada source code di bawah ini adalah program untuk menghitung luas dengan menggunakan
tipe data double dan hasil nya seperti di tampilakan pada gambar.
Pada source code di atas terlihat variable panjang di inisiasi dengan nilai 10 dan lebar di inisiasi
dengan nilai 20.9.
Untuk mengisi nilai pada sebuah variable menggunakan inputan maka dapat digunakan toolbox textbox
seperti pada gambar di bawah
Textbox1
Textbox2
Textbox3
Source code seperti pada pada gambar di bawah, dimana digunakan 3 buah variable bertipe
integer yakni varibel a,b dan c.
Pada source code di atas variabel a menangkap isi dari textbox1 dan variable b menangkap isi dari
textbox2 lalu variable c berisi hasil penjumlahan varibel a dan b. Hasil penjumlahan ditampilkan di
textbox3.
C. Struktur Percabangan
Pendahuluan
Struktur kontrol yang ada pada bahasa C# adalah struktur runtutan, struktur pemilihan dan
struktur pengulangan. Struktur kontrol pemilihan dan pengulangan memanfaatkan operator dalam
menentukan suatu kondisi. Operator-operator yang terkait dengan proses seleksi kondisi adalah
Operator Logika dan Relasional (hubungan).
1. Operator Relasi seperti pada gambar di bawah
Relational operator pada C# biasanya digunakan dalam statement If untuk pengecekan kondisi.
Bentuk Umum if
Jika kondisi yang diseleksi benar maka pernyataan 1 sampai pernyataan n akan dikerjakan, sedangkan
jika kondisi tersebut tidak terpenuhi maka program akan keluar dari struktur if. Jika lebih dari satu
pernyataan , maka harus menggunakan tanda { dan }
Bentuk Umum if else
Jika kondisi yang diseleksi bernilai benar atau terpenuhi maka pernyataan pertama yang dilaksanakan
dan jika kondisi yang diseleksi bernilai salah maka pernyataan yang kedua yang dilaksanakan. Setiap
pernyataan diakhiri tanda titik koma (;) walaupun sebelum else
Bentuk Umum Nested If
D. PERULANGAN
Statement jenis ini digunakan untuk menentukan bagian mana dari program yang akan
dieksekusi berulang-ulang dan apa kondisi yang menentukan perulangan tersebut.
Pada C# ada empat statement yang digunakan sebagai pengulangan, yaitu :
1. while.
2. for.
3. foreach.
4. do-while.
while
While statement berguna untuk melakukan perulangan selama kondisi bernilai true.
Contoh :
//.//
int j = 0;
label1.text=;
while (j < 5)
{
Label1.Text= Label1.Text + j+
j++;
}
////
For
For digunakan untuk melakukan perulangan yang didasarkan atas nilai diskrit, misalnya integer.
Contoh :
//..//
label1.text=;
for (int j = 0; j < 5; j++)
{
Label1.Text= Label1.Text + j+
}
//.//
Tugas
1. Tampilkan n buah bilangan pertama
contoh n= 5 maka outputnya : 2 3 5 7 11
1 1 2 3 5
E. ARRAY
Array adalah salah data type yang terdiri dari beberapa elemen atau kumpulan kumpulan values
dari variable yang sejenis. Untuk lebih jelasnya perhatikan gambarannya sebagai berikut:
Jika kita mendeklarasikan variable primitif sebagai contoh int a = 10; maka dalam memori komputer
akan menyimpan nama dari varibel tersebut beserta valuenya
Perbedaannya dengan array adalah, dalam suatu varibel yang dideklarasikan sebagai array dia bisa
menyimpan
value
lebih
dari
satu
pada
indeks
yang
berbeda
maka dalam ilustrasi diatas bisa diartikan bahwa variabel array A dengan tipe integer memiliki
nilai 10 pada indeks ke-0, 11 pada indeks ke-1, 19 pada indeks ke-2, dan 27 pada indeks ke 3.
Dengan demikian array A memiliki panjang 4 dan memiliki tipe data integer.
Berikut ini adalah contoh implementasi array pada C#.
//.//
Int [] A= new int[4];
A[0]=10;
A[0]=11;
A[0]=19;
A[0]=27;
//..//
Penggunaan Array tidak hanya terbatas disitu saja, kita juga bisa membuat array multi dimensi,
berbeda dengan contoh contoh diatas tersebut, array multi dimensi memiliki indeks legih dari
satu digit, misal A [4,4] hal ini dapat direpresentasikan bahwa array tersebut bernama A dan
memiliki jumlah kolom 4 dan baris 4.
Ilustrasi
Misalkan terdapat sebuah array 2 dimensi dengan nama A, maka array tersebut menjadi A[4,4]
berbentuk seperti sebuah table seperti di bawah
baris
kolom
a[0,0]
a[1,0]
a[2,0]
a[3,0]
a[0,1]
a[1,1]
a[2,1]
a[3,1]
a[0,2]
a[1,2]
a[2,2]
a[3,2]
a[0,3]
a[1,3]
a[2,3]
a[3,3]
Deklarasi array dua dimensi tanpa memberi nilai adalah seperti dibawah ini :
int [,] A = new int[ 4,4 ];
Contoh di bawah ini adalah sourcecode untuk mengisi nilai kepada array A 2 dimensi
for(int i=0;i<5;i++)
{
for (int j=0;j<5;j++)
{
A[i,j]=i+j;
}
}
Contoh di bawah ini adalah sourcecode untuk menampilkan isi dari array A 2 dimensi
for(int i=0;i<5;i++)
{
for (int j=0;j<5;j++)
{
Label1.text=Label1.Text+ A[i,j]+
}
Label1.text=Label1.Text+\n ;
}
Tugas
1. Tampilkan frekuensi kemunculan angka angka dalam suatu kumpulan bilangan di
bawah menggunakan array
Contoh input : 1 1 2 1 3 4 3 1 1 3 4 2 2
Output : 5
3 2
(1 muncul 5 kali, 2 muncul sebanyak 3 kali, 3 muncul sebanyak 3 kali dan 4 muncul
sebanyak 2 kali)
Input
Output
4. Buatlah program untuk melakukan operasi 2 buah matrix: perkalian, invers, dan
transpose
Pada prosedur di atas terlihat bahwa nama prosedur nya adalah cetakNamadanPekerjaan
sedangkan yang menjadi inputan (passing by value) bagi prosedur tersebut adalah string
nama dan string alamat.
untuk memanggil procedure diatas dengan cara sebagai berikut
cetakNamadanPekerjaan(okfan,pare-Kediri);
Untuk memanggil prosedur yang telah diciptakan maka cuku menuliskan nama prosedur
dengan inputannya (apabila prosedur tersebut membutuhkan input). Misalnya bila ingin
memanggil prosedur di atas maka cukup menuliskan:
Sebuah prosedur tidak selamnya memiliki input. Misalnya seperti prosedur di bawah
private void cetak angka()
{
double a;
a=0;
for(int i=1;i<=10;i++)
{
a += a+i;
}
label1.text= a.toString();
2. Fungsi
Fungsi, memiliki karakteristik yang mirip dengan procedure namun memiliki nilai balik
yang bisa di capture/ di tangkap dan disimpan dalam sebuah varibel lain ketika fungsi
tersebut dipanggil. Sedangkan pada procedure, tidak memberikan nilai balik yang bisa
ditangkap untuk disimpan ke dalam variable lain.
Pada function di atas, terlihat nama function nya adalah : kuadratAngka, dan tipe
data yang di kembalikan dari fungsi tersebut adalah double dan nilai yang dikembalikan
adalah dataInput*dataInput.
Apabila ingin menangkap nilai yang dihasilkan oleh function tersebut maka cukup
memanggil function tersebut lalu disimpan dalam sebuah varibel lain.
double a= kuadratAngka(12);
label1.text= a.toString();
Untuk menangkap nilai yang dihasilkan oleh fungsi di atas maka cukup deklarasi sebuah varibel
array yang nilai nya di ambil dari fungsi.
/////////
double[,] mat_a,mat_b;
mat_a=new double[2,2];
mat_b=new double[2,2];
double[,] hasil;
hasil= penjumlahan_matriks (mat_a,mat_b);
/////
Apabila ingin melihat isi dari baris 0 kolom 0 pada varibel hasil (nilainya adalah 1+2=3) maka
cukup memanggil dengan perintah Label1.text= hasil[0,0].ToString();
Untuk melihat hasil seluruhnya maka dapat menggunakan perulangan lalu di cetak isi dari
varibel hasil.
Berdasarkan contoh contoh di atas maka terlihat bahwa perbedaan utama dari fungsi
dan prosedur adalah fungsi dapat mengembalikan sebuah nilai sedangkan prosedur tidak dapat
mengembalikan nilai pada saat dipanggil. Sedangkan secara syntax, perbedaan fungsi dan
prosedur adalah pada fungsi ketika di deklarasikan juga dengan tipe data yang akan
dikembalikan sedangkan pada prosedur tidak perlu. Hal ini dikarenakan prosedur tidak
mengembalikan nilai.
Ciri Penulisan
Procedure
out
Pada prosedur di atas parameter yang dilewatkan adalah variable hasil bertipe double. Pada
saat prosedur hitung_kuadrat(double a, out double hasil)dipanggil maka
nilai dari variable hasil akan di isi/modifikasi yakni hasil= Math.Pow(a,2).
Untuk melihat isi dari variable hasil yang dilewatkan pada prosedur di atas maka perhatikan
contoh di bawah
Pada potongan source code di atas, prosedur hitung_kuadrat dipanggil menggunakan perintah :
hitung_kuadrat(13, out x). Perintah out x merupakan perintah untuk melewatkan
parameter berupa variable x. Sehingga pada saat prosedur ini dipanggil maka nilai x akan
dimodifikasi di dalam prosedur. Untuk melihat nilai x maka cukup dipanggil menggunakan
perintah Label1.text= x.TString()
Untuk memanggil prosedur tersebut maka perhatikan potongan kode program di bawah
private void button1_Click(object sender, EventArgs e)
{
double pangkat_dua,pangkat_tiga;
hitungPangkat(13, out pangkat_dua, out pangkat_tiga);
label1.Text = pangkat_dua.ToString();
label2.Text = pangkat_tiga.ToString();
}
Tugas
1. Buatlah program untuk melakukan operasi matrix: perkalian, penjumlahan, dan invers
menggunakan prosedur dan fungsi
input: nababan
output: poliandrom
output: poliandrom
G. REKURSIF
Rekursif ialah salah satu teknik pemrograman dengan cara memanggil sebuah fungsi dari
dirinya sendiri, baik itu secara langsung maupun tidak langsung. Pemanggilan fungsi rekursif
secara langsung berarti dalam fungsi tersebut terdapat statement untuk memanggil dirinya
sendiri sedangkan secara tidak langsung berarti fungsi rekursif tersebut memanggil 1 atau lebih
fungsi lain sebelum memanggil dirinya sendiri.
1, > 1
faktorial(double n)
|| n == 0)
1;
n * faktorial(n - 1);
Pada potongan fungsi di atas adalah sebuah fungsi rekursif factorial yang memanggil dirinya
sendiri ketika nilai n>1 yakni n*faktorial(n-1).
Untuk membuat program menggunakan teknik faktorial maka syarat utama adalah adanya
sebuah syarat pemberhentian yakni saat dimana program berhenti memanggil dirinya sendiri.
Pada permasalahan faktorial, kriteria pemberhentian fungsi memanggil dirinya sendiri adalah
pada saat nila n=0 atau nilai n=1
private double faktorial(double n)
{
if (n == 1 || n == 0)
{
return 1;
}
else
{
return n * faktorial(n - 1);
}
}
Contoh kasus perpangkatan
74 = 7 x 73
73 = 7 x 72
72 = 7 x 71
71 = 7 x 70
70 = 1
1, = 0
, 1, > 0
Misalnya nilai a=4 dan n=0, maka Pangkat4,0 akan menghasilkan 1 karena 40 = 1. Namun
apabila nila a=4 dan n=3 maka Pangkat(4,3) adalah :
Pangkat(4,3) = 4 *Pangkat(4,2)
Pangkat(4,2)=4*Pangkat(4,1)
Pangkat(4,1)=4*Pangkat(4,0)
Pangkat(4,0)=1
Implementasi c# :
private double Pangkat(double a, int n)
{
if ( n == 0)
{
return 1;
}
else
{
return a * Pangkat(a,n - 1);
}
}
Untuk Melihat hasilnya maka cukup memanggil nama fungsi nya menggunakan perintah :
Label1.Text= Pangkat(4,3).ToString()
Pada source code di atas fungsi Pangkat(a,n) akan berhenti memanggil dirinya sendiri pada saat
nilai n=0 (stopping criteria adalah n=0 ), selain itu maka fungsi akan meanggil dirinya sendiri
yakni: Pangkata,n = a*Pangkata,n-1
Tugas
1. Buatlah sebuah program untuk menampilkan deret di bawah menggunakan fungsi
rekursif
input = 8
output = 1 1 2 3 5 8 13 21
A(m,n)
n+1,
m=0
A(m-1, 1)
m0, n=0
m0, n0
3. Buatlah sebuah fungsi rekursif untuk menghitung perkalian dua buah bilangan tanpa
menggunakan tanda * (perkalian)