You are on page 1of 33

Nama Nim

: Ruli Handrio : 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

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 123 053 008 5. Matriks segitiga bawah adalah matriks bujur sangkar yang semua entri di atas diagonal utama = 0 100 250 108

6.3. Hasil Percobaan dan Analisa


6.3.1. Array 1 dimensi Berikut source code untuk program array 1 dimensi :
using System; //user menggunakan Library System using System.Collections.Generic; using System.Linq; using System.Text; semua yang ada di

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 dimana angka yang

("Datanya adalah " + array [0]);

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 using using using System; //user menggunakan Library System System.Collections.Generic; System.Linq; 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 using using using

System; //user menggunakan Library System System.Collections.Generic; System.Linq; 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 tertentu matriks[0, matriks[0, matriks[1, matriks[1, 0] 1] 0] 1] = = = = 12; 30; 45; -9; nilai array pada indeks

//perulangan untuk baris - 1 for (int i = 0; i < 1; i++) { for (int j = 0; j < 2; j++) { System.Console.Write(matriks[i, + " "); } } 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, + " "); } } System.Console.WriteLine(""); } //mengakhiri statemen } } //mengakhiri program

j]

j]

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 using using using System; //user menggunakan Library System System.Collections.Generic; System.Linq; 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, matriks2[b, k]; } }

"

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 using using using using System; //user menggunakan Library System System.Collections.Generic; System.Linq; System.Text; 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 using using using using System; //user menggunakan Library System System.Collections.Generic; System.Linq; System.Text; 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 using using using using System; //user menggunakan Library System System.Collections.Generic; System.Linq; System.Text; 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 using using using System; System.Collections.Generic; System.Linq; 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 using using using using System; System.Collections.Generic; System.Linq; System.Text; 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 System.Collections.Queue(); isi = new

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 data menghapus \n 4 data \n 3 untuk dari menampilkan program"); untuk keluar

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

merupakan deklarasi num bernilai 0. 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 dihapus"); ada data yang bisa

merupakan perintah untuk menampilkan

Tidak ada data yang bisa dihapus, kemudian secara otomatis pindah baris.
Else

merupakan perintah untuk memilih menu yang lain.


hasil_stack =

string

(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; default:

merupakan deklarasi num bernilai 1. 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 using using using using System; System.Collections.Generic; System.Linq; System.Text; 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 anda masukkan salah...\n"); break; } } } }

yang

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 System.Collections.Stack () ; isi = new

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 data menghapus \n 4 data \n 3 untuk dari menampilkan program"); untuk keluar

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

merupakan deklarasi num bernilai 0. 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 dihapus"); ada data yang bisa

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; default:

merupakan deklarasi num bernilai 1. 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 using using using System; System.Collections.Generic; System.Linq; 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.

You might also like