0% menganggap dokumen ini bermanfaat (0 suara)
77 tayangan

Modul Pemrograman Rocky

Modul ini membahas tentang algoritma dan pemrograman menggunakan bahasa C Sharp. Modul ini membahas tentang memulai program Visual Studio.NET 2012, penggunaan toolbox, struktur percabangan, perulangan, array, dan fungsi serta prosedur.

Diunggah oleh

JuNa BeZzie
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
77 tayangan

Modul Pemrograman Rocky

Modul ini membahas tentang algoritma dan pemrograman menggunakan bahasa C Sharp. Modul ini membahas tentang memulai program Visual Studio.NET 2012, penggunaan toolbox, struktur percabangan, perulangan, array, dan fungsi serta prosedur.

Diunggah oleh

JuNa BeZzie
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 26

MODUL MATA KULIAH

ALGORITMA DAN PEMROGRAMAN

Menggunakan Bahasa Pemrograman C-Sharp

Oleh
Nama

Rocky Yefrenes Dillak, S.T., M.Cs

NIP

198505292012121004

KOSENTRASI TEKNIK KOMPUTER DAN JARINGAN


JURUSAN TEKNIK ELEKTRO
POLITEKNIK NEGERI KUPANG
2013

A. MEMULAI PROGRAM VISUAL STUDIO.NET 2012

1. Pilih Visual C#

2. Pilih Windows Form Application


3. Klik OK

Toolbox

Cara Menggunakan Toolbox


Toolbox pada Visual C# dapat digunakan dengan drag and drop. Yakni melakukan drag pada toolbox
yang ingin digunakan lalu drop pada bagian windows form.

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

2. Operator Logika 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

Contoh Penggunaan if untuk melihat predikat IP Mahasiswa


string predikat;
if (ipk > 3.5)
predikat = "Cum Laude" ;
else if (ipk > 3)
predikat = "Sangat Memuaskan" ;
else if (ipk >= 2.75)
predikat = "Memuaskan" ;
else if (ipk >= 2)
predikat = "Cukup" ;
else
predikat = "Memuakkan" ;

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++;
}
////

Tanda untuk membuat spasi

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+
}
//.//

Pada source code disamping,


program akan mencetak nilai j
pada label1.text pada saat j=0
sampai j =4

Tugas
1. Tampilkan n buah bilangan pertama
contoh n= 5 maka outputnya : 2 3 5 7 11

2. Tampilkan deret Fibonacci dengan input : n


contoh : n= 5 maka outputnya :

1 1 2 3 5

3. Tampilkan pola bilangan seperti di bawah. Misalnya input n=5


1
121
1331
14641
15101051

4. Tampilkan pola bilangan di bawah dengan input n=5


1
49
9 25 36
49 64 81 100
121 144 169 196 225

5. Buatlah program untuk menampilkan


input : politeknik
output : kinketilop

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)

2. Tampilkan nilai median dari kumpulan bilangan di bawah


4 5 2 8 8 9 3 1
3. Tampilkan kemunculan pasangan nilai nilai di bawah (pasangan arah 315 derajat)

Input

Output

Misalnya pasangan 1 dan 1 muncul sebanyak 1 kali.

4. Buatlah program untuk melakukan operasi 2 buah matrix: perkalian, invers, dan
transpose

F. FUNGSI DAN PROSEDUR


1. Prosedur
Prosedur (procedure) dalam C# adalah kumpulan perintah-perintah yang tergabung
menjadi satu perintah. Tujuan penggabungan agar memudahkan kita dalam
menggunakan perintah-perintah yang ada di dalamnya. Jadi hanya dengan satu
prosedur maka C# akan dapat menjalankan semua perintah yang ada didalamnya.
Prosedur akan di panggil ketika kita mengklik sebuah tombol (button). Setiap kali suatu
prosedur dipanggil, maka rutin program yang berada diantara judul prosedur dan akhir
prosedur akan dieksekusi.
Pada C# ciri utama prosedur adalah penggunaan void sebelum nama prosedur
contoh:
private void cetakNamadanPekerjaan(string nama, string alamat)
{
messebox.show("Hallo "+ nama+"\n"+"alamatmu ada di"+alamat);
}

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);

private void hitung _uas_segitiga(double a, double t)


{
double luas;
luas=0.5*a*t;
label1.text= Luas Segitiga : + luas;
}

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:

hitung _luas_segitiga(12, 40);

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.

private double kuadratAngka(double dataInput)


{
return dataInput*dataInput
}

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.

Tipe data yang akan dikembalikan


oleh function ini

private double kuadratAngka(double dataInput)


{
return 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();

Fungsi dengan nilai kembalian berupa array


Perhatikan contoh di bawah:

private double[,] penjumlahan_matriks (double[,]a, double[,]b)


{
double[,] c= new double[a.GetLength(0), a.GetLength(1)];
for (int i=0;i< a.GetLength(0);i++)
{
for (int j=0;j< a.GetLength(1);j++)
{
c[i,j]=a[i,j]+b[i,j];
}
}
return c;
}

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];

mat_a[0,0]=1; mat_a[0,1]=1; mat_a[1,0]=1; mat_a[1,1]=1;


mat_b[0,0]=2; mat_b[0,1]=2; mat_b[1,0]=2; mat_b[1,1]=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.

Perhatikan contoh prosedur di bawah:

Ciri Penulisan
Procedure

private void kuadrat(double a)


{
label1.text= a*a. ToString();
}

Nilai yang telah dihitung oleh fungsi


langsung dicetak didalam fungsi
karena tidak dapat dikembalikan

Tipe data Function

Perhatikan contoh Fungsi di bawah:


private double kuadrat(double a)
{
Nilai yang dikembalikan oleh fungsi
return a*a;
}

Parameter pada Fungsi dan Prosedur


Sebuah prosedur tidak memiliki nilai kembalian, sehingga apabila diinginkan nilai yang
dikembalikan oleh sebuah prosedur maka caranya adalah melewatkan (passing) parameter
melalui prosedur tersebut. Hal ini dnamakan passing by reference. Dengan menggunakan cara
ini maka sebuah prosedur akan memiliki nilai kembalian berupa parameter yang dilewatkan.

Untuk melewatkan parameter pada C# maka menggunakan perintah:

out

Perhatikan contoh prosedur di bawah ini

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()

Contoh di bawah adalah prosedur untuk melewatkan dua buah variable


private void hitungPangkat(double a, out double kuadrat, out double kubik)
{
kuadrat=0;
kubik = 0;
kuadrat =
Math.Pow(a, 2);
kubik
=
Math.Pow(a,3);
}

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

2. Buatlah sebuah program untuk mengecek apakah sebuah kalimat(string) merupakan


poliandrom atau tidak menggunakan fungsi
input : kasur rusak

input: nababan

output: poliandrom

output: poliandrom

3. Lakukan tugas no 1 menggunakan prosedur passing by parameter

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.

Contoh kasus factorial


0! =1
1!=1
2!=2x1
3!=3x2x1
4!=4x3x2x1
.
.
8!=8 x 7!
N!=N(N-1)!
1, = 0 = 1

Dalam bentuk fungsi matematis maka persamaan factorial dapat dituliskan :


1, > 1

Implementasi dalam bahasa c#


private double
{
if (n == 1
{
return
}
else
{
return
}
}

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);
}

Kriteria Pemberhentian fungsi


terjadi pada saat nilai n<=1

fungsi faktorial memanggil


fungsi faktorial (dirinya sendiri)
pada saat nilai n>1

}
Contoh kasus perpangkatan
74 = 7 x 73
73 = 7 x 72
72 = 7 x 71
71 = 7 x 70
70 = 1

Terlihat sebuah pola bahwa :


an = a x an-1
a0 = 1
Persamaan tersebut di atas dapat dituliskan menggunakan fungsi matematis sebagai berikut :
Pangkat(a,n) =

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

Karena Pangkat(4,0) = 1, Maka


Pangkat(4,1)= 4*Pangkat(4,0)= 4*1 = 4
Pangkat(4,2)= 4* Pangkat(4,1) = 4*4 = 16
Pangkat(4,3)= 4*Pangkat(4,2)= 4*16= 64

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

2. Bualah program untuk mengimplementasikan formula di bawah

A(m,n)

n+1,

m=0

A(m-1, 1)

m0, n=0

A(m-1, A(m, n-1))

m0, n0

Hitunglah hasil dari A(2,3)

3. Buatlah sebuah fungsi rekursif untuk menghitung perkalian dua buah bilangan tanpa
menggunakan tanda * (perkalian)

Anda mungkin juga menyukai