pemrograman c# 2
Post on 25-Jul-2015
1.152 Views
Preview:
TRANSCRIPT
Nama : Ruli Handrio
Nim : 21120111130042
PEMOGRAMAN C# BAGIAN 2
6.1. Tujuan
1. Mengenal dan memahami fungsi array ( larik ) dan kegunaannya serta
dapat membuat program dengan menggunakan array .
2. Praktikan dapat mengenal dan memahami penggunaan queue pada
program serta dapat mengaplikasikannya pada program .
3. Praktikan dapat mengenal dan memahami penggunaan stack pada
program serta dapat mengaplikasikannya pada program .
6.2. Dasar Teori
6.2.1. Array
Array adalah sebuah struktur data yang terdiri atas banyak
variabel dengan tipe data sama, dimana masing – masing elemen
variabel mempunyai nilai indeks . Setiap elemen array mampu untuk
menyimpan satu jenis data ( variabel ) .
Variabel array dideklarasikan dengan mencantumkan tipe dan
nama variabel yang akan diikuti dengan banyaknya lokasi memori
yang akan dibuat . Contoh penulisan array c adalah seperti berikut :
Int c [5]
Perlu diperhatikan bahwa c secara otomatis akan menyediakan
lokasi memori sesuai dengan yang dideklarasikan, dimana nomor
indeks selalu dimulai dari 0 . Nilai suatu variabel array dapat juga
diinisialisasi secara langsung pada saat deklarasi, misalnya :
Int c [5] = { -45, 0, 6, 72,1543};
Berarti tiap lokasi memori dari variabel array c langsung diisi
dengan nilai – nilai yang dituliskan di dalam tanda kurung kurawal .
Contoh berikut adalah deklarasi variabel array dengan sekaligus
mengisi setiap lokasi memorinya dengan nilai 0 :
Int x [5] = { 0 };
Banyaknya lokasi memori dapat secara otomatis disediakan
sesuai dengan banyaknya nilai yang akan dimasukkan, seperti contoh
berikut yang tentunya membuat variabel array dengan 10 lokasi
memori :
Int x[] = {10,15,12,5,13,9,6,17,25,31};
6.2.2. Queue
Queue adalah salah satu bentuk struktur data yang juga
merepresentasikan linked list . Dimana yang berbeda dalam queue
tersebut adalah cara menambah dan mengambil data . Sesuai dengan
namanya yaitu queue atau antrian, data yang dimasukkan dari
belakang ( Insert at back ), sehingga data yang pertama kali
dimasukkan berada pada node pertama, dan data yang dimasukkan
terakhir juga akan berada pada node yang terakhir , dimana untuk
pengambilan proses pengambilan datanya, yang diambil adalah data
pertama, dan setelah data pertama diambil maka node yang berisi
data pertama tersebut akan di-nullkan sehingga posisi node pertama
akan berpindah pada node setelah node pertama tersebut .
Proses ini biasanya disebut dengan FIFO ( First In First Out ) .
Contoh :
Gambar 6.1 Prinsip Kerja Queue ( FIFO )
Dari data pada gambar di atas, data yang pertama kali masuk
adalah data “a” dan ketika diinputkan data lagi maka akan berada di
node berikutnya, yaitu node ke – 2 , dan seterusnya . Kemudian, data
yang pertama kali keluar ialah “a” dan berikutnya ialah data
setelahnya secara berurut .
6.2.3. Stack
Stack adalah salah satu bentuk struktur data yang juga
merepresentasikan tumpukan data, dimana yang berbeda dalam stac
tersebut adalah cara menambah data dan mengambil data . Sesuai
dengan namanya yaitu stack atau tumpukan, data yang dimasukkan
terakhir berada pada tumpukan paling bawah, sehingga untuk data
yang dimasukkan terakhir berada di tumpukan paling atas . Ketika
kita ingin melakukan pengambilan data , proses pengambilan
datanya yang diambil adalah data yang berada pada tumpukan paling
atas dan setelah itu baru data yang ada di tumpukan di bawahnya .
Proses ini biasanya disebut dengan LIFO ( Last In First Out )
.
Gambar 6.2 Prinsip Kerja Stack
Dari gambar di atas , data “D” merupakan data yang pertama kali
dimasukkan dan data “A” merupakan data yang terakhir kali
dimasuukan dan berada di tumpukan paling atas , sehingga data “A”
A
B
C
D
yang pertama kali dikeluaran dan data yang pertama kali dimasukkan
menjadi data yang terakhir kali dikeluarkan .
6.2.5 Pengurutan data (Sorting)
Sorting adalah proses di mana data diurutkan sesuai dengan
kaidah atau aturan tertentu. Ada beberapa algoritma untuk
melakukan sorting, di antaranya adalah :
1. Bubble sort
Algoritma beroperasi sebagai berikut :
Elemen pertama dibandingkan dengan elemen kedua, bila
elemen kedua lebih kecil maka kedua elemen tersebut
ditukar.
Elemen kedua dan ketiga dibandingkan, bila elemen ketiga
lebih kecil daripada elemen kedua, maka elemen tersebut
ditukar.
Proses terus berlangsung dengan elemen ketiga dan elemeen
keempat, dan seterusnya sampai akhir deretan tercapai.
Bila tak ada lagi yang ditukarkan, algoiritma berhenti. Bila
terjadi pertukaran secara berurutan, proses akan diulang.
Sehingga akhirnya semua elemen tersusun, tidak ada
pertukaran lagi dan algoritma berhenti.
2. Selection sort
Algoritma beroperasi sebagai berikut :
Memilih elemen maksimum / minimum dari larik, lalu
menempatkan elemen tersebut pada awal / akhir larik.
Larik yang telah ditempati elemen maksimum / minimum
tersebut diisolasi dan tidak disertakan pada proses
selanjutnya.
Ada dua algoritma untuk selection sort yaitu elemen
maksimum sebagai basis pengurutan dan elemen minimum
sebagai basis pengurutan.
Operasi elemen hanya dilakukan sekali saja pada setiap
langkah.
3. Insertion sort
Algoritma beroperasi sebagai berikut :
Sembarang elemen diambil dari data yang belum terurut.
Data pertama dibandingkan dengan data kedua. Apabila data
kedua lebih kecil maka data kedua tersebut disisipkan di
depan data pertama.
Lakukan terus sampai data yang belum terurut tersebut habis.
4. Shell sort
Disebut juga diminishing increment sort
Pengurutan dilakukan setiap k elemen dengan metode
pengurutan sisip
Nilai k akan berkurang pada setiap langkah pengurutan
Nilai k disebut juga increment
5. Merge sort
Metode ini banyak digunakan untuk mengurutkan dua atau lebih
tabel yang sudah terurutkan menjadi satu tabel yang terurutkan
juga.
6. Quick sort
Metode ini dalam melakukan pengurutan data menggunakan
babak-babak dengan panjang spasi tertentu.
Ketika kita memasukkan data dalam jumlah besar, dapat
melakukan sortir data, mulai dari ascending atau urut dari nilai yang
paling kecil dan descending atau urut dari nilai yang paling besar.
6.2.6 Matriks
Matriks biasanya dinotasikan dengan huruf besar A, B, C dan
sebagainya. Elemen-elemen di dalam matriks sering disebut dengan
entri dari matriks. Entri ini biasanya merupakan bilangan riil atau
kompleks. Entri dari matriks pada umumnya dinotasikan dengan
[A]ji yang menyatakan matriks A yang berada pada baris ke j dan
kolom ke i.
Dua matriks A=[aij] dan B=[bij] dikatakan sama , ditulis A=B
jika A dan B berukuran sama dan entri yang seletak sama yaitu aji=bji
untuk setiap j dan i. Jika dua matriks A dan B berukuran sama ,
penjumlahan A dan B didefinisikan sebagai beriut :
A+B = [aji+ bji]
Sifat dasar dari operasi penjumlahan dan perkalian matriks dengan
skalar adalah sebagai berikut :
(A + B) + C = A + (B + C)
A + 0 = 0 + A = A
A + (-A) = (- A) + A = 0
A + B = B + A
k(A + B) = kA + kB
(k+ l)A = kA + lA
(kl)A = k (lA)
Ada beberapa jenis matriks, diantaranya adalah :
1. Suatu matriks dengan banyak baris = banyak kolom = n disebut
matriks bujur sangkar berukuran n. Barisan entri a11, a22, .....,
ann disebut diagonal utama dari matriks bujur sangkar.
2. Matriks diagonal adalah matriks bujur sangkar yang semua
elemen diagonal utamanya adalah nol.
3. Matriks identitas adalah matriks diagonal yang entri pada
diagonal utamanya adalah 1.
4. Matriks segitiga adalah matriks bujur sangkar yang semua entri
di bawah diagonal utama = 0
1 2 3
0 5 3
0 0 8
5. Matriks segitiga bawah adalah matriks bujur sangkar yang semua
entri di atas diagonal utama = 0
1 0 0
2 5 0
1 0 8
6.3. Hasil Percobaan dan Analisa
6.3.1. Array 1 dimensi
Berikut source code untuk program array 1 dimensi :
using System; //user menggunakan semua yang ada di
Library System
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace kelompok20_Array1Dimensi //nama program
{ //memulai program
class Program
{
static void Main(string[] args)
{ //memulai statemen
int[] array = { 1, 2, 3 }; //deklarasi
variabel array dengan 3 lokasi memori
System.Console.WriteLine ("Datanya adalah "
+ array [0]);
} //mengakhiri statemen
}
} //mengakhiri program
Gambar 6.3 Source Code
Setelah kita mengetik source code yang di atas, kita dapat
menjalankan program dengan menekan tombol Ctrl + F5 . Hasil dari
source code di atas ialah tulisan “Datanya adalah 1” . Angka 1
diperoleh dari source code “System.Console.WriteLine
("Datanya adalah " + array [0]); ” dimana angka yang
dipanggil adalah array dengan indeks ke – 0 . Hasilnya dapat dilihat
seperti gambar di bawah ini .
Gambar 6.4 Tampilan Hasil Program Array 1 Dimensi
6.3.2. Array 2 dimensi
Berikut source code untuk program array 2 dimensi :
using System; //user menggunakan Library System
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace kelompok20_Array2Dimensi //nama program
{ //memulai program
class Program
{
static void Main(string[] args)
{ //memulai statemen
int[,] array = new int[2, 2]; //deklarasi
variabel array
array[0, 0] = 2; //deklarasi nilai array
System.Console.WriteLine("Datanya adalah "
+ array[0, 0]);
} //mengakhiri statemen
}
} //mengakhiri program
Gambar 6.5 Source Code
Setelah kita mengetik source code yang di atas , kita dapat menekan
tombol Ctrl + F5 untuk menjalankan program . Hasilnya ialah tulisan
“ Datanya adalah 2 ” . Angka 2 diperoleh dari pemanggilan array
dengan indeks ke – 0 , 0 . Berikut gambar di bawah ini adalah
tampilan programnya .
Gambar 6.6 Tampilan Hasil Program Array 2 Dimensi
6.3.3. Array dengan perulangan
Untuk menampilkan semua nilai array, kita dapat menggunakan
fungsi perulangan untuk menyingkat penulisan source code-nya .
Perulangan adalah teknik pemograman dimana suatu proses akan
diulang terus-menerus hingga suatu kondisi yang diinginkan dapat
terpenuhi . Berikut merupakan contoh source code array dengan
perulangan .
using System; //user menggunakan Library System
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace kelompok20_ArrayPerulangan //nama program
{ //memulai program
class Program
{
static void Main(string[] args)
{ //memulai statemen
int[,] matriks = new int[2, 2]; //deklarasi
bentuk array
//deklarasi nilai array pada indeks
tertentu
matriks[0, 0] = 12;
matriks[0, 1] = 30;
matriks[1, 0] = 45;
matriks[1, 1] = -9;
//perulangan untuk baris - 1
for (int i = 0; i < 1; i++)
{
for (int j = 0; j < 2; j++)
{
System.Console.Write(matriks[i, j]
+ " ");
}
}
System.Console.WriteLine("");
//perulangan untuk baris - 2
for (int i = 1; i < 2; i++)
{
for (int j = 0; j < 2; j++)
{
System.Console.Write(matriks[i, j]
+ " ");
}
}
System.Console.WriteLine("");
} //mengakhiri statemen
}
} //mengakhiri program
Setelah kita mengetik source code yang di atas , kita dapat menekan
tombol Ctrl + F5 untuk menjalankan program . Hasilnya ialah
sebuah bentuk matriks dengan baris – 1 ada angka 12 dan 30 serta
pada baris – 2 ada angka 45 dan -9 . Berikut gambar di bawah ini
adalah tampilan programnya .
Gambar 6.7 Tampilan Hasil Program Array dengan Perulangan
6.3.4. Penjumlahan Matriks
Berikut source code untuk penjumlahan matriks dimana nilai dari
matriks sudah ditentukan .
using System; //user menggunakan Library System
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace kelompok20_PenjumlahanMatriks //nama program
{ //memulai program
class Program
{
static void Main(string[] args)
{ //memulai statemen
int baris = 2, kolom = 2;
int[,] matriks1 = new int[baris, kolom];
int[,] matriks2 = new int[baris, kolom];
int[,] hasil = new int[baris, kolom];
Console.WriteLine("Input matriks1 :");
//perulangan untuk matriks 1
for (int b = 0; b < baris; b++)
{
for (int k = 0; k < kolom; k++)
{
matriks1[b, k] = 3;
Console.Write(matriks1[b, k] + "
");
}
Console.WriteLine();
}
//perulangan untuk matriks 2
Console.WriteLine("Input matriks2 :");
for (int b = 0; b < baris; b++)
{
for (int k = 0; k < kolom; k++)
{
matriks2[b, k] = 9;
Console.Write(matriks2[b, k] + "
");
}
Console.WriteLine();
}
for (int b = 0; b < baris; b++)
{
for (int k = 0; k < kolom; k++)
{
hasil[b, k] = matriks1[b, k] +
matriks2[b, k];
}
}
//perulangan untuk penjumlahan matriks
Console.WriteLine("Hasil penjumlahan
matriks :");
for (int b = 0; b < baris; b++)
{
for (int k = 0; k < kolom; k++)
{
matriks2[b, k] = 4;
Console.Write(hasil[b, k] + " ");
}
Console.WriteLine();
}
} //mengakhiri statemen
}
} //mengakhiri program
Setelah kita mengetik source code yang di atas , kita dapat menekan
tombol Ctrl + F5 untuk menjalankan program . Hasilnya ialah ada 3
buah bentuk matriks dimana matriks ke -3 adalah matriks hasil
penjumlahan antara matriks input 1 dan matriks input 2 . Nilai dari
matriks input 1 dan matriks input 2 sudah ditentukan di source code
yaitu untuk matriks input 1 nilai semua baris dan kolomnya diisi
dengan angka 3 sedangkan untuk matriks input 2 nilai semua baris
dan kolomnya diisi dengan angka 9 . Berikut gambar di bawah ini
adalah tampilan programnya .
Gambar 6.3 Tampilan Hasil Program Penjumlahan Matriks
6.3.5. Queue
Berikut source code untuk penggunaan fungsi queue dalam sebuah
program .
using System; //user menggunakan Library System
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
namespace Kelompok20_queue //nama program
{ //memulai program
class Program
{
static void Main(string[] args)
{ //memulai statemen
Console.WriteLine("Enter in a string ");
string s1 = Console.ReadLine();
Console.WriteLine(" ");
Queue q1 = new Queue();
//perulangan
for (int i = 0; i < s1.Length; i++)
{
q1.Enqueue(s1.Substring(i, 1));
if (i == s1.Length - 1)
{
Console.WriteLine("Hasil
menggunakan metode queue ");
for (i = 0; i < s1.Length; i++)
{
char y =
Convert.ToChar(q1.Dequeue());
Console.WriteLine(y);
}
Console.WriteLine(" ");
}
}
} //mengakhiri statemen
}
} //mengakhiri program
Setelah kita mengetik source code yang di atas , kita dapat menekan
tombol Ctrl + F5 untuk menjalankan program . Hasilnya ialah ada
perintah berupa tulisan yang meminta si user untuk memasukkan
input atau data berupa string kemudian data tersebut akan diurut
dengan metode queue dimana data data atau huruf yang pertama
masuk yang akan ada di antrian pertama , dan seterusnya untuk huruf
berikutnya . Berikut gambar di bawah ini adalah tampilan
programnya .
Gambar 6.4 Tampilan Hasil Program Queue
6.3.6. Stack
Berikut source code untuk penggunaan fungsi stack dalam sebuah
program .
using System; //user menggunakan Library System
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
namespace kelompok20_stack //nama program
{ //memulai program
class Program
{
static void Main(string[] args)
{ //memulai statemen
//perintah memberikan input berupa data
string
Console.WriteLine("Enter in a string ");
string s1 = Console.ReadLine();
Console.WriteLine(" ");
Stack st = new Stack ();
//output
Console.WriteLine("Hasil menggunakan metode
stack ");
//perulangan
for (int i = 0; i < s1.Length; i++)
{
st.Push(s1.Substring(i, 1));
if (i == s1.Length - 1)
{
for (i = 0; i < s1.Length; i++)
{
char x =
Convert.ToChar(st.Pop());
Console.WriteLine(x);
}
}
}
} //mengakhiri program
}
} //memulai program
Setelah kita mengetik source code yang di atas , kita dapat menekan
tombol Ctrl + F5 untuk menjalankan program . Hasilnya ialah ada
perintah berupa tulisan yang meminta si user untuk memasukkan
input atau data berupa string kemudian data tersebut akan diurut
dengan metode stack dimana data atau huruf yang terakhir kali
masuk akan diletakkan pada tumpukan pertama , dan seterusnya .
Berikut gambar di bawah ini adalah tampilan programnya .
Gambar 6.5 Tampilan Hasil Program Stack
6.3.7. Pengurutan Data
Berikut source code untuk penggunaan fungsi array dan perulangan
untuk mengurutkan data secara ascending dimana nilai akan
diurutkan dari yang terkecil hingga yang terbesar .
using System; //user menggunakan Library System
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
namespace kelompok20_UrutData //nama program
{ //memulai program
class Program
{
static void Main(string[] args)
{ //memulai statemen
//perintah memasukkan input
Console.Write("Masukkan banyak elemen array
= ");
int n =
Convert.ToInt32(Console.ReadLine());
int[] array_sort = new int[n];
for (int i = 0; i < n; i++)
{
Console.Write("Elemen ke - " + (i + 1)
+ "=");
array_sort[i] =
Convert.ToInt32(Console.ReadLine());
}
for (int j = 1; j <= n - 1; j++)
{
for (int k = 0; k <= n - 2; k++)
{
if (array_sort[k] > array_sort[k +
1])
{
int temp = array_sort[k];
array_sort[k] = array_sort[k +
1];
array_sort [k+1] = temp;
}
}
}
//output
Console.WriteLine(" ");
Console.WriteLine("Tampilkan data");
for (int i = 0; i < n; i++)
{
Console.WriteLine(array_sort[i]);
}
Console.ReadKey(true);
} //mengakhiri statemen
}
} //mengakhiri program
Setelah kita mengetik source code yang di atas , kita dapat menekan
tombol Ctrl + F5 untuk menjalankan program . Hasilnya ialah ada
perintah berupa tulisan yang meminta si user untuk memasukkan
jumlah elemen array yang ingin diurutkan . Kemudian , program
akan meminta nilai – nilai untu setiap elemen . Misal si user ingin
mengurutkan lima (5) buah bilangan dimana elemen – 1 adalah 23
elemen – 2 adalah 0 , elemen – 3 adalah 100 , elemen – 4 adalah 45
dan elemen – 5 adalah 2 . Lalu , tekan Enter untuk menjalankan
pengurutan bilangannya sehingga tampak bilangan akan diurutkan
dari nilai yang terkecil hingga yang terbesar . Berikut gambar di
bawah ini adalah tampilan programnya .
Gambar 6.6 Tampilan Perintah Awal Memasukkan Jumlah Input
Gambar 6.7 Tampilan output akhir program
6.4. Tugas Praktikum
6.4.1. Perkalian Matriks
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Console.Write("Masukkan jumlah baris
matriks 1 : ");
int bm1 =
Convert.ToInt32(Console.ReadLine());
Console.Write("Masukkan jumlah kolom
matriks 1 : ");
int km1 =
Convert.ToInt32(Console.ReadLine());
Console.Write("Masukkan jumlah baris
matriks 2 : {0}", km1);
Console.Write("\nMasukkan jumlah kolom
matriks 2 : ");
int km2 =
Convert.ToInt32(Console.ReadLine());
Console.Write("\n\n");
int[,] m1 = new int[bm1, km1];
int[,] m2 = new int[km1, km2];
int[,] m3 = new int[bm1, km2];
for (int i = 0; i < bm1; i++)
{
for (int k = 0; k < km1; k++)
{
Console.Write("Masukkan nilai [{0}
{1}] : ", i, k);
m1[i, k] =
Convert.ToInt32(Console.ReadLine());
}
}
for (int j = 0; j < km1; j++)
{
for (int l = 0; l < km2; l++)
{
Console.Write("Masukkan nilai [{0}
{1}] : ", j, l);
m2[j, l] =
Convert.ToInt32(Console.ReadLine());
}
}
for(int x = 0; x < bm1; x++)
{
for(int y = 0; y < km2; y++)
{
m3[x, y] = 0;
for(int z = 0; z < km1; z++)
{
m3[x, y] = m3[x, y] + m1[x, z]
* m2[z, y];
}
}
}
Console.WriteLine("\n\n\tHasil Perkalian
Matriks\n");
for(int v = 0; v < bm1; v++)
{
for(int w = 0; w < km2; w++)
{
if (w == 0)
{
Console.Write("\n");
}
Console.Write("\t{0}",m3[v, w]);
}
}
Console.WriteLine();
Console.ReadLine();
}
}
}
Tampilan program setelah dijalankan adalah :
Gambar 6.8 Tampilan running untuk program Perkalian Matriks
6.4.2. Queue
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
Queue dt = new Queue();
Console.Write("\t\tProgram Queue");
a:
Console.Write("\n\n1. Menambah Data\n2.
Menghapus Data\n3. Tampilkan Data\n4. Keluar dari
program\n");
Console.Write("Masukkan pilihan : ");
int pil =
Convert.ToInt16(Console.ReadLine());
switch (pil)
{
case 1:
Console.Write("Masukkan data\t :
");
string i = Console.ReadLine();
dt.Enqueue(i);
goto a;
case 2:
if (dt.Count == 0)
{
Console.WriteLine("Tidak ada
data yang bisa dihapus");
goto a;
}
else
{
dt.Dequeue();
goto a;
}
case 3:
Console.WriteLine("\n\n\tData yang
tersimpan\n");
foreach (string i1 in dt)
{
Console.WriteLine(i1);
}
Console.WriteLine();
goto a;
case 4:
break;
default:
Console.WriteLine("Perintah yang
anda masukkan salah...\n");
break;
}
}
}
}
using System;merupakan perintah yang menandakan
bahwa user akan menggunakan segala sesuatu yang ada di
library system.
namespace MenambahMengurangiQueue_Kelompok21
merupakan perintah yang digunakan untuk menamai
program.
class Program merupakan perintah untuk membuat
sebuah class.
static void Main(string[] args) ini fungsi main ()
merupakan awal dan untuk memulai fungsi program C#
dalam compilernya. Void merupakan perintah tanpa tipe */
int num = 0; merupakan deklarasi num bernilai 0 yang
menggunakan tipe data integer.
System.Collections.Queue isi = new
System.Collections.Queue(); merupakan deklarasi isi
yang akan sama dengan queue yang baru yang diambil dari
library.
Console.WriteLine(""); merupakan perintah untuk
menampilkan baris kosong lalu secara otomatis pindah
baris.
Console.WriteLine("Pilihan \n 1 untuk menambah
data \n 2 untuk menghapus data \n 3 untuk
menampilkan data \n 4 untuk keluar dari
program"); merupakan perintah untuk menampilkan
Pilihan, 1 untuk menambah data, 2 untuk menghapus data,
3 untuk menampilkan data, 4 untuk keluar dari program
pada layar dan kemudian otomatis pindah baris.
Console.WriteLine("Masukkan pilihan:");
merupakan perintah untuk menampilkan Masukkan pilihan:
pada layar dan secara otomatis pindah baris.
string pilihan = Console.ReadLine(); merupakan
perintah untuk memerintahkan program untuk membaca
statement.
switch (pilihan) merupakan perintah untuk memilih
pilihan pada pilihan.
case "1": merupakan input pilihan 1 untuk menambah
data.
Console.WriteLine("Masukkan data string:");
merupakan perintah untuk menampilkan Masukkan data
string: pada layar dan secara otomatis pindah baris.
string s1 = Console.ReadLine();merupakan perintah
untuk memerintahkan program untuk membaca statement.
Console.WriteLine(" "); merupakan perintah untuk
baris kosong dan secara otomaris pindah baris.
isi.Enqueue(s1); merupakan perintah untuk
menambahkan elemen ke dalam queue yaitu s1.
num = 0; merupakan deklarasi num bernilai 0.
break; merupakan fungsi untuk menghentikan
perulangan.
case "2": merupakan input pilihan 2 untuk menghapus
data.
if (isi.Count == 0) merupakan perintah pengkondisian
jika isi.count sama dengan 0.
Console.WriteLine("Tidak ada data yang bisa
dihapus"); merupakan perintah untuk menampilkan
Tidak ada data yang bisa dihapus, kemudian secara
otomatis pindah baris.
Else merupakan perintah untuk memilih menu yang lain.
string hasil_stack =
(string)isi.Dequeue();merupakan deklarasi hasil_stack
bernilai isi. Dequeue dimana digunakan untuk mengambil
elemen dari queue yang menggunakan tipe data string.
case "3": merupakan input pilihan 3 untuk menampilkan
data.
Console.WriteLine("Datanya adalah"); merupakan
perintah untuk menampilkan Datanya adalah pada layar dan
secara otomatis pindah baris.
foreach (string d in isi) untuk melakukan looping
dari suatu Object Collection.
string hasil = d; merupakan deklarasi hasil sama
dengan d yang menggunakan tipe data string.
Console.WriteLine(d); merupakan perintah untuk
menampilkan proses d pada layar kemudian secara otomatis
pindah baris.
case "4": merupakan input pilihan 4 untuk keluar dari
program.
num = 1; merupakan deklarasi num bernilai 1.
default: merupakan fungsi yang merepresentasikan suatu
nilai tidak memenuhi kondisi satu pun.
while (num == 0); merupakan fungsi untuk mengulang suatu
proses apabila num sama dengan 0.
Tampilan program setelah dijalankan adalah :
Gambar 6.9 Tampilan running untuk program Program Queue
6.4.3. Stack
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
namespace ConsoleApplication3
{
class Program
{
static void Main(string[] args)
{
Stack dt = new Stack();
Console.Write("\t\tProgram Stack");
a:
Console.Write("\n\n1. Menambah Data\n2.
Menghapus Data\n3. Tampilkan Data\n4. Keluar dari
program\n");
Console.Write("Masukkan pilihan : ");
int pil =
Convert.ToInt16(Console.ReadLine());
switch (pil)
{
case 1:
Console.Write("Masukkan data\t :
");
string i = Console.ReadLine();
dt.Push(i);
goto a;
case 2:
if (dt.Count == 0)
{
Console.WriteLine("Tidak ada
data yang bisa dihapus");
goto a;
}
else
{
dt.Pop();
goto a;
}
case 3:
Console.WriteLine("\n\n\tData yang
tersimpan\n");
foreach (string i1 in dt)
{
Console.WriteLine(i1);
}
Console.WriteLine();
goto a;
case 4:
break;
default:
Console.WriteLine("Perintah yang
anda masukkan salah...\n");
break;
}
}
}
}
using System;merupakan perintah yang menandakan
bahwa user akan menggunakan segala sesuatu yang ada di
library system.
namespace MenambahMengurangiDataStack_Kelompok21
merupakan perintah yang digunakan untuk menamai
program.
class Program merupakan perintah untuk membuat
sebuah class.
static void Main(string[] args)ini fungsi main ()
merupakan awal dan untuk memulai fungsi program C#
dalam compilernya. Void merupakan perintah tanpa tipe */
int num = 0; merupakan deklarasi num bernilai 0 yang
menggunakan tipe data integer.
System.Collections.Stack isi = new
System.Collections.Stack () ; merupakan deklarasi
isi yang akan sama dengan stack yang baru yang diambil
dari library.
Console.WriteLine(" "); merupakan perintah untuk
menampilkan baris kosong lalu secara otomatis pindah
baris.
Console.WriteLine("Pilihan \n 1 untuk menambah
data \n 2 untuk menghapus data \n 3 untuk
menampilkan data \n 4 untuk keluar dari
program"); merupakan perintah untuk menampilkan
Pilihan, 1 untuk menambah data, 2 untuk menghapus data,
3 untuk menampilkan data, 4 untuk keluar dari program
pada layar dan kemudian otomatis pindah baris.
Console.WriteLine("Masukkan pilihan:");
merupakan perintah untuk menampilkan Masukkan pilihan:
pada layar dan secara otomatis pindah baris.
string pilihan = Console.ReadLine();merupakan
perintah untuk memerintahkan program untuk membaca
statement.
switch (pilihan) merupakan perintah untuk memilih
pilihan pada pilihan.
case "1": merupakan input pilihan 1 untuk menambah
data.
Console.WriteLine("Masukkan data string:");
merupakan perintah untuk menampilkan Masukkan pilihan:
pada layar dan secara otomatis pindah baris.
string m1 = Console.ReadLine();merupakan perintah
untuk memerintahkan program untuk membaca statement.
isi.Push(m1); merupakan perintah untuk menghapus
m1.
num = 0; merupakan deklarasi num bernilai 0.
break; merupakan fungsi untuk menghentikan
perulangan.
case "2": merupakan input pilihan 2 untuk menghapus
data.
if (isi.Count == 0) merupakan perintah pengkondisian
jika isi.count sama dengan 0.
Console.WriteLine("Tidak ada data yang bisa
dihapus"); merupakan perintah untuk menampilkan
Tidak ada data yang bisa dihapus, kemudian secara
otomatis pindah baris.
Else merupakan perintah untuk memilih menu yang lain.
string hasil_stack = (string)isi.Pop();merupakan
deklarasi hasil_stack bernilai isi.Pop dimana Pop untuk
memasukkan data yang menggunakan tipe data string.
case "3": merupakan input pilihan 3 untuk menampilkan
data.
Console.WriteLine("Datanya adalah"); merupakan
perintah untuk menampilkan Datanya adalah pada layar dan
secara otomatis pindah baris.
foreach (string d in isi) untuk melakukan looping
dari suatu Object Collection.
string hasil = d; merupakan deklarasi hasil sama
dengan d yang menggunakan tipe data string.
Console.WriteLine(d); merupakan perintah untuk
menampilkan proses d pada layar kemudian secara otomatis
pindah baris.
case "4": merupakan input pilihan 4 untuk keluar dari
program.
num = 1; merupakan deklarasi num bernilai 1.
default: merupakan fungsi yang merepresentasikan suatu
nilai tidak memenuhi kondisi satu pun.
while (num == 0); merupakan fungsi untuk mengulang
suatu proses apabila num sama dengan 0.
Tampilan program setelah dijalankan adalah :
Gambar 6.10 Tampilan running untuk Program Stack
6.4.4. Pengurutan data secara descending
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication4
{
class Program
{
static void Main(string[] args)
{
Console.Write("Masukkan jumlah data angka :
");
int i =
Convert.ToInt32(Console.ReadLine());
int[] numbers = new int[i];
Console.WriteLine("\n\n\t\tData Input\n");
for (int j = 0; j < i; j++)
{
Console.Write("Masukkan bilangan {0} :
", j+1);
int i1 =
Convert.ToInt32(Console.ReadLine());
numbers[j] = i1;
}
int count = numbers.Length;
int temp;
for (int k = (count - 1); k >= 0; k--)
{
for (int y = 1; y < i; y++)
{
if (numbers[y - 1] < numbers[y])
{
temp = numbers[y - 1];
numbers[y - 1] = numbers[y];
numbers[y] = temp;
}
}
}
Console.WriteLine("\n\n\tData Terurut
Secara Descending\n");
for (int x = 0; x < numbers.Length; x++)
{
Console.WriteLine("Angka ke-{0} :
{1}",x+1,numbers[x]);
}
Console.ReadLine();
}
}
}
Tampilan program setelah dijalankan adalah :
Gambar 6.11 Tampilan running untuk Program Descending
6.5. Kesimpulan
1. Array adalah sebuah struktur data yang terdiri atas banyak variabel
dengan tipe data sama, dimana masing – masing elemen variabel
mempunyai nilai indeks .
2. Queue adalah bentuk struktur data yang juga merepresentasikan sebuah
antrian data yang menerapkan metode FIFO ( First In First Out ) dimana
metodenya ialah data yang pertama masuk yang akan pertama keluar
juga . Contoh : Antrian orang yang membeli tiket di bioskop .
3. Stack adalah bentuk struktur data yang merepresentasikan tumpukan data
yang menerapkan metode LIFO ( Last In First Out ) dimana metodenya
ialah data yang terakhir kali masuk yang akan pertama kali keluar .
Contoh : Tumpukan piring .
4. Didalam penggunaan array, stack, dan queue sering menggunakan
statemen perulangan (looping) seperti statemen for, statemen while,
statemen do while dan statement foreach, untuk memberikan input atau
output lebih dari satu.
5. Pengurutan data (sorting) dapat dilakukan dengan berbagai metode,
antara lain bubble sort, selection sort, insertion sort, shell sort, merge
sort, ataupun quick sort.
6. Bahasa C# harus mencakup pengecekan jenis (type checking) yang kuat,
pengecekan larik (array), pendeteksian terhadap percobaan terhadap
penggunaan Variabel-variabel yang belum diinisialisasikan, portabilitas
kode sumber, dan pengumpulan sampah (garbage collection) secara
otomatis.
top related