Professional Documents
Culture Documents
• Lab : A
• Koordinator: Yuan Lukito, S.Kom
Deskripsi Matakuliah
• Matakuliah ini mengajarkan sistem
pengorganisasian data pada memori komputer
maupun file (berkas) pada suatu media
penyimpanan dengan menggunakan struktur
data array, struct, tree, dan file menggunakan
teknik-teknik seperti stack, queue, dan linked list
serta hashing.
• Matakuliah ini juga mengajarkan teknik-teknik
manipulasi data seperti tambah, hapus, edit,
pencarian dan pengurutan, yang dilakukan
dengan menggunakan bahasa pemrograman
generasi ketiga (Bahasa C).
Tujuan Matakuliah
Mahasiswa diharapkan mampu:
• Memahami sistem pengorganisasian data pada
memori komputer dan file (berkas) pada media
penyimpanan.
• Mengimplementasikannya dalam program
dengan menggunakan salah satu bahasa
pemrograman generasi ke-3 (Bahasa C) untuk
membuat berbagai macam struktur data (array,
tree, struct) dengan teknik-teknik tertentu (linked
list, stack, dan queue) serta manipulasinya
(sorting dan searching) secara baik, efisien, dan
cepat.
Silabus
• Perkenalan
– Perkenalan dan silabus
– Aturan praktikum
– Refresh Bahasa C
• Pengantar Struktur Data, Abstract Data Type (ADT) dan Struct
– Pengantar Struktur Data
– Pengertian dan cara pembuatan ADT
– Pengertian dan pendeklarasian Struct
– Struct: add,del,edit & array of struct
– Contoh-contoh program
• Searching Array
– Refresh array
– Pengertian searching
– Algoritma-algoritma searching : sequential search, binary search
– Array slice / explode
Silabus
• Sorting Array
– Algoritma-algoritma sorting : bubble sort,
selection sort, insertion sort, dan quick sort
• Stack dan Queue dengan Array
– Pengertian stack, cara pembuatan stack, dan
operasi-operasinya pada array
– Pengertian queue, cara pembuatan queue,
dan operasi-operasinya pada array
Silabus
• Pointer dan Function
– Konsep, operator, dan deklarasi
– Pointer pada array
– Function by value & reference
• Single Linked List Non Circular
– Single Linked List Non Circular
– Insert, update, dan delete
• Single Linked List Circular
– Insert, update, dan delete
• Double Linked List Non Circular
– Insert, update, dan delete
• Double Linked List Circular
– Insert, update, dan delete
Silabus
• Function Recursif dan Graf
– Konsep rekursif implementasi Graf serta
contoh
• Tree
– Konsep dan pembuatan
– Kunjungan Tree: pre-order, in-order, dan
post-order, level-order
– Berbagai macam operasi tree
Daftar Pustaka
• Moh. Sjukani, Algoritma dan Struktur Data dengan C, C++, dan Java, Mitra
Wacana Media, 2005
• Dwi Sanjaya, Asyiknya Belajar Struktur Data di Planet C++, PT. Elex Media
Komputindo, Jakarta, 2005
• Jogianto H.M, Konsep Dasar Pemrograman Bahasa C, Penerbit Andi, 2000
• Antonie Pranata, Algoritma dan Pemrograman, J&J Learning Yogyakarta,
2000
• Simon Harris and James Ross, Beginning Algorithms, Wiley Publishing Inc.,
2006
• Dwi Sanjaya, Bertualang dengan Struktur Data di Planet Pascal, J&J
Learning Yogyakarta, 2001
• Peter Drake, Data Structures and Algorithms in Java, Prentice Hall, 2005
• Bambang Hariyanto, Ir, M.T, Struktur Data Memuat Dasar Pengembangan
Berorientasi Obyek, Penerbit Informatika Bandung, 2003
• Teddy Marcus Zakaria dan Agus Prijono, Konsep dan Implementasi Struktur
Data, Penerbit Informatika, Bandung, 2006
Penilaian
• 85.0 - 100 A 4.0
• 80.0 - 84.9 A- 3.7
• 75.0 - 79.9 B+ 3.3
• 70.0 – 74.9 B 3.0
• 65.0 – 69.9 B- 2.7
• 60.0 – 64.9 C+ 2.3
• 55.0 – 59.9 C 2.0
• 40.0 – 54.9 D 1.0
• 0 – 39.9 E 0.0
• -- F 0.0
Distribusi Nilai
• TTS : 25
• TAS : 25
• Tes Kecil : 10
• Praktikum : 40
• Jumlah : 100
Aturan Praktikum
• Datang dan mengilkuti praktikum dengan
tertib dan teratur
• Bila ada halangan hubungi asisten yang
bersangkutan
• Penilaian dari praktikum adalah 30%,
yang akan dibagi dalam tes-tes kecil /
tugas selama praktikum.
Aturan Lain
• Tidak ada ujian susulan
• Presensi minimal 75%
• Menggunakan pakaian yang sopan dan
rapi.
Refresh C++
• Bahasa C dibuat pada tahun 1978 untuk Sistem Operasi
Unix oleh Bell Labs (Ken Thompson dan Dennis M.
Ritchie).
– Buku The C Programming Language
• Bahasa C merupakan salah satu bahasa pemrograman
yang paling sering dipakai oleh pemrogram di seluruh
dunia, terutama karena bahasa C memperbolehkan
pengakses memori secara manual. (dengan POINTER)
• Bahasa C menjadi dasar bahasa C++.
• Bahasa C seringkali dipakai untuk membuat bahasa-
bahasa pemrograman yang lain.
• Distandarisasi ANSI tahun 1989
Identifier & Tipe Data C
• Identifier adalah pengingat tempat penyimpanan data di
dalam memori komputer.
– Variabel : bisa diubah
– Konstanta : bersifat tetap
Some programmer jargon
• Beberapa istilah:
– Source code: kode program yang ditulis programmer.
– Compile (build): pengubahan source code ke dalam
object code (bisa bahasa mesin / assembly)
– Executable: program dalam bahasa mesin yang siap
dieksekusi.
– Language: bahasa pemrograman.
– Library: fungsi-fungsi yang digunakan pada
pembuatan program.
– Preprocessor Directive
• Dimulai dengan tanda #
• Header file: file yang berekstensi .h yang disertakan pada
pembuatan program.
Structure of C
int coba(){
…..
}
More about Hello World
Preprocessor
#include <stdio.h> Comments are good
/* My first C program which prints Hello World */
main() means “start here”
int main (int argc, char *argv[])
{
printf ("Hello World!\n");
return 0; Library command
}
int main()
{
char a, b;
a= 'x'; /* Set a to the character x */
printf ("a is %c\n",a);
b= '\n'; /* This really is one character*/
printf ("b is %c\n",b);
return 0;
}
A short note about ++
• ++i means increment i then use it
• i++ means use i then increment it
int i= 6;
printf ("%d\n",i++); /* Prints 6 sets i to 7 */