Menggunakan
Struktur Data
Konsep Data
2
Data
Berasal dari bahasa Latin “datum” yang artinya sesuatu
yang diberikan.
BAGI MANUSIA BAGI KOMPUTER
Segala sesuatu yang Segala sesuatu yang dapat
dibutuhkan untuk dikodekan, disimbolkan, atau
menyelesaikan/mencari solusi dilambangkan ke dalam kode –
dari sebuah masalah kode yang telah disediakan di
setiap komputer
3
Data pada Komputer
• Kombinasi dari ada atau tidaknya arus listrik
• Dilambangkan dengan 1 dan 0
• Binary Digit (bit) SISTEM SEBUTAN ANGKA YANG CONTOH
BILANGAN DIGUNAKAN
Berbasis Decimal 0, 1, 2, 3, 4, 5, 6, 7, 8, 15
Sepuluh 9
Berbasis Dua Binary 0, 1 11112
Berbasis Octal 0, 1, 2, 3, 4, 5, 6, 7 178
Delapan
4 Berbasis Hexadecimal 0, 1, 2, 3, 4, 5, 6, 7, 8, F16
Enambelas 9, A, B, C, D, E, F
Data vs Informasi
• Bagi komputer, data dan informasi tidak ada bedanya
• Perbedaan data dan informasi bagi manusia :
Data : suatu fakta yang harus diproses lebih lanjut
agar memiliki nilai atau arti
Informasi : hasil proses dari data yang memiliki nilai atau
arti bagi seseorang
5
Hirarki Data pada Komputer
• Input – Proses – Output
• Input : Data yang dimasukkan oleh pengguna/user
• Output : Hasil proses data berupa informasi
INPUT PROSES OUTPUT
6
Tipe Data
7
Karakter
Kombinasi bit – bit dikonversi menjadi sebuah karakter
sesuai kombinasi kode yang telah ditentukan. Uraian
karakter disebut string. Tanda petik tunggal ( ‘ ) untuk
karakter, tanda petik ganda ( “ ) untuk string.
Contoh : ‘a’, ‘b’, “Jeanny”, “BBPVP”
8
Numerik
Kombinasi bit – bit dikonversi sesuai dengan nilai numerik
atau nilai desimalnya. Bilangan bulat disebut integer,
dapat berupa nilai positif maupun negatif.
Contoh : 1, -1, 2, -2
9
Tugas
Cari tipe data dasar/primitif pada bahasa pemrograman
C# beserta karakteristik dan contoh penggunannya
10
Jenis Tipe Data
Jenis tipe data yang digunakan pada C# :
1. Tipe data dasar/primitive
Tipe data yang telah ada di dalam C#, telah disediakan/telah
disupport oleh C# atau bisa disebut tipe data default. Contoh
: integer, float, byte, dll
2. Tipe data reference
Tipe data yang ada karena hasil dari penciptaan object.
Biasanya tipe data reference mengarah kepada nama dari
11 sebuah object. Contoh : object, String, Array, class
Tempat Penampungan Data
12
Fisik Logika
Memori Variable
13
Tempat Penampungan Fisik
1. ROM : Read Only Memory
2. RAM : Random Access Memory
14
Tempat Penampungan Logika
Variable :
Tempat penampungan data sementara yang disimpan di
dalam memori
Sebuah variable hanya bisa menampung sebuah tipe data
15
Variable/Atribut
Tempat penampungan data sementara dapat
berubah
Nama dari suatu lokasi di memori yang digunakan
untuk menyimpan data sementara
Variable diberi nama tertentu (identifier) yang
menunjukkan domain yang diwakilinya
Data yang tersimpan pada variable harus memiliki tipe
data tertentu sebelum digunakan
16
Syntax : [tipe_data][namaVariabel]
Constant
Tempat penampungan data statis tidak dapat
berubah constant
Constant dibuat dengan menambahkan keyword
“const” sebelum tipe data pada variable
Syntax : const[tipe_data][namaVariable]
17
Identifier-1
Nama yang diberikan untuk variable, konstanta,
method, fungsi atau namespace.
Panjang karakter tidak dibatasi, tidak boleh memakai
spasi.
Identifier harus diawali dengan huruf/garis bawah “_”
atau tanda $.
Tidak diperbolehkan menggunakan kata
kunci(keyword) yang digunakan C#(if, for, while, dll)
18 Untuk menggunakan keyword C# sebagai identifier,
tambahkan “@” di depan nama identifier “@if”
Identifier-2
Dapat menggunakan PascalCase atau camelCase.
Biasanya identifier menggunakan PascalCase untuk
class atau namespace dan fungsi, sedangkan
identifier parameter dan variable menggunakan
camelCase.
Bersifat case sensitive[membedakan huruf besar dan
kecil].
19
Identifier-3
Public class Tik{
static public void Main{}
{
int x;
}
}
•Tik : Name of the class
•Main : Method name
20 •x : Variable name
Deklarasi & Inisialisasi
21
• Deklarasi adalah tahapan penentuan tipe data dan
identifier suatu objek pemrograman (variable, constant,
object, dll).
• Inisialisasi adalah tahapan pengisian nilai awal suatu
objek pemrograman.
• Deklarasi dan inisialisasi dapat dilakukan secara
bersama-sama.
• Constant melakukan deklarasi dan inisialisasi secara
22 bersama-sama.
Variable
Deklarasi
int number; //variable dengan nama number bertipe data
integer
Inisialisasi
number = 1;
Deklarasi dan Inisialisasi
23
int number = 1;
Constant
//nilai diskon untuk member
Const float Gold = 10;
Const float Silver = 5;
24
Memanggil dan Mengubah Nilai
Variable-1
▪ Variable dipanggil dengan identifiernya
Int aNumber = 1;
Console.WriteLine(aNumber);
25
Memanggil dan Mengubah Nilai
Variable-2
▪ Untuk mengubah nilai variable, tambahkan operator
sama dengan “=“ setelah identifier diikuti nilai yang
ingin dimasukkan ke dalam variable.
aNumber = 10; //mengubah nilai variable aNumber
menjadi 10
▪ Suatu variable hanya dapat diisi dengan nilai dengan
tipe data yang sama
26
Memanggil dan Mengubah Nilai
Variable-3
▪ Variable dapat diisi dengan nilai variable yang lain.
int aNumber1 = 1;
int aNumber2 = aNumber1;
Console.WriteLine(aNumber2);
27
Memanggil Constant
▪ Sama dengan memanggil variable
28
Struktur Data
29
Pengertian
Suatu susunan simbol – simbol yang diorganisasikan dan
dioperasikan sesuai dengan definisi yang diberikan
terhadapnya di komputer
30
Tujuan
Mengoptimalkan penggunaan ruang kosong pada memori
komputer, serta mempercepat proses pencarian dan
pengambilan data
31
Macam Struktur Data
▪ Struktur data sederhana
▪ Struktur data majemuk : dibuat dengan memanipulasi
struktur data sederhana atau struktur data majemuk
lainnya untuk meningkatkan efisiensi kinerjanya
32
Struktur Data Sederhana (Array)
▪ Array : menyimpan data dengan tipe yang sama dalam
1 variable.
▪ Index : angka yang menunjukkan data keberapa dari
kumpulan variable tersebut. Dimulai dari angka 0.
▪ Jenis Array : Array dimensi satu dan Array multidimensi
33
Implementasi Struktur Data
Sederhana pada C#
34
.NET Framework System.Array
Array 1 Dimensi
Data disimpan secara linier
Index A(0) A(1) A(2) A(3) A(4)
Address 1000 1001 1002 1003 1004
35
Array Multidimensi
▪ Array berdimensi banyak
▪ Untuk menyimpan data matriks
▪ Dapat menyimpan lebih dari 1 indeks (baris, kolom)
Index A(0,0) A(1,0) A(0,1) A(1,1)
Address 1000 1001 1002 1003
36
Kelebihan & Kekurangan Array
▪ Kelebihan : Memiliki waktu akses terhadap data yang
konstan.
▪ Kekurangan : Ukuran panjang koleksi yang statis
37
Ekspresi Array-1
▪ Menggunakan tanda kurung kotak “[]” setelah
penulisan tipe data.
▪ Jumlah nilai yang akan disimpan ditulis dalam format
“new tipeData[jumlah nilai]”.
▪ Nilai dapat di-inisialisasi langsung bersama dengan
deklarasi.
38
Ekspresi Array-2
▪ Nilai – nilai array diisi di dalam kurung kurawal “{}”.
Setiap nilai dipisah dengan tanda koma “,”.
▪ Array multidimensi dibuat dengan mencantumkan
tanda koma “,” di dalam kurung kotak “[jumlah nilai
array induk, jumlah nilai array anak]”.
39
Deklarasi Array
Deklarasi Array :
tipedata[]namaVariable
Contoh :
String[]arrayNama
Assignment(memasukkan data ke Array, pemberian ukuran):
tipedata[]namaVariable = new NamaVariable[ukuran]{isiArray}
Contoh :
String[]arrayNama = new ArrayNama[4]{“Ani”,”Budi”,”Cici”,”Dodi”};
40 Membuat array dengan tipe data String, nama variable arrayNama,
dengan panjang 4
Inisialisasi, Instansiasi
▪ //Array 2D
int[,] array2D = new int[,]{{1,2},{3,4},{5,6},{7,8}};
▪ //Array dengan menyebutkan besar dimensinya
int[,] array2Da = new int[4, 2]{{1,2},{3,4},{5,6},{7,8}};
▪ //Array dengan elemen string
string[,] array2Db = new
41
string[3,2]{{“one”,”two”},{“three”,”four”},{“five”,”six”}};
Inisialisasi Array
Inisialisasi Array tanpa menyebutkan panjangnya
int[,] array4 = {{1,2},{3,4},{5,6},{7,8}};
42
Deklarasi Variable
Mendeklarasikan variable array tanpa inisialisasi, harus
memakai operator NEW untuk menempatkan array pada
variable
int[,] array5;
array5 = new int[,]{{1,2},{3,4},{5,6},{7,8}};
43 //array5 = {{1,2},{3,4},{5,6},{7,8}}; //Error
Contoh Ekspresi Array
//Deklarasi array bertipe integer dengan 5 nilai
int[] Numbers = new int[5];
//Deklarasi sekaligus inisialisasi array bertipe integer
dengan 5 nilai
int[] Numbers = new int[]{1,2,3,4,5};
44
Contoh Ekspresi Array
//Deklarasi 4 x 3 multidimensional array yang bertipe
integer
int[,] matrix = new int[4,3];
//Deklarasi sekaligus inisialisasi 4 x 3 multidimensional
array yang bertipe integer
int[,] Matrix = new int[,]{{1,2,3},{2,3,4},{3,4,5},{4,5,6}};
45
Accessing
1. Mengakses Data
2. Mengubah Data Menggunakan
nomor indeks
3. Menyimpan Data
Awalan atau elemen pertama dari Array bukanlah indeks
1 melainkan indeks 0
Panjang Array Array.Length
46
Memanggil dan Mengubah Nilai Array
o Memanggil nilai array dengan mencantumkan index
nilai yang ingin dipanggil ke dalam kurung kotak
setelah nama array.
Console.WriteLine(Numbers[index]);
o Mengubah nilai array dengan mencantumkan index
yang ingin dipanggil ke dalam kurung kotak setelah
nama array diikuti sama dengan dan dilanjutkan
dengan nilai yang akan diisi.
47 Numbers[index] = 2;
Looping/Perulangan Array
1. Memakai looping biasa dengan property Length.
Array.Length(untuk banyak pengulangan)
2. Memakai Foreach Loop, digunakan khusus untuk
looping perulangan pada Array
foreach (tipeData NamaVariabel in NamaArray)
{
// perintah
}
48
Mengurutkan Nilai Array
1. Mengurutkan method Sort() pada class Array untuk
mengurutkan ascending.
2. Dilanjutkan dengan method Reverse() untuk
mengurutkan secara descending.
//Ascending
Array.Sort(Numbers);
//Descending
49
Array.Sort(Numbers);
Array.Reverse(Numbers);
System.Linq
Menyediakan kelas dan antarmuka yang mendukung
query yang menggunakan Language Integrated Query
(LINQ).
Array method :
1. Max
2. Min
3. Sum
50
Mencari Nilai Array
▪ Menggunakan method IndexOf() dari class Array.
▪ Mengembalikan nilai index dari nilai yang dicari.
▪ Jika tidak ditemukan di dalam Array yang dicari, akan
mengembalikan nilai -1.
Int[] Numbers = new int[]{1, 2, 3, 4, 5};
Console.WriteLine(Array.IndexOf(Numbers, 1));
51
Console.WriteLine(Array.IndexOf(Numbers, 6));
Traversing
▪ Menelusuri nilai – nilai pada array satu per satu.
▪ Menggunakan keyword foreach diikuti tanda kurung
yang berisi nama variable yang akan diisi oleh sebuah
nilai dari array dan identifier array itu sendiri.
Int[] Numbers = new int[]{1, 2, 3, 4, 5};
foreach(int Number in Numbers)
{
Console.WriteLine(Number);
52 }
Latihan
Aplikasi pemesanan bus pariwisata dengan array 2D
sesuai contoh
53
Thanks!
54