Struktur Data (Data Structure) – IS 2313

Imam Rozali, S.T., M.T.

Struktur Data
(Data Structure) – IS 2313

System Basic Theory
 Tuesday 07.00-13.00, Thursday 07.00-13.00
 Reference:
 Liem, Inggriani. Diktat Struktur Data, ITB, 2003.
 Thomas A. Standish, “Data Stuctures, Algorithms & Software
Principles in C” Addison-Wesley, 1995.

 Additional Reference
 Internet

 E-mail : imr@ittelkom.ac.id, imam@telkompdc.com
 Phone : 081220670006, 02270303011

Evaluation
 Class Participation: - %
 Quiz : 10%

 Assignment : 20%
 Midterm: 35%
 Final : 35%

Chapter 1 : Introduction to Data
Structure

Outline














Latar Belakang
Sekilas Tentang C
Proses Kompilasi dan Linking Program C
Struktur Penulisan Program C
Fungsi-Fungsi Dasar CUDT (User Defined Type) atau Tipe Data
Bentukan
Pengenalan Praprosesor #include
Sekilas Tentang Array
Sekilas Tentang Struct
Contoh Program Struct
Struktur Data dalam Pemrograman
Memory Address
Data Structures

Latar Belakang
 Algoritma
 Program
 Data
 Struktur Data


Algoritma + Struktur Data = Program

Latar Belakang
 Ciri algoritma yang baik menurut Donald
E.Knuth adalah:






Input: ada minimal 0 input atau lebih
Ouput: ada minimal 1 output atau lebih
Definite: ada kejelasan apa yang dilakukan
Efective: langkah yang dikerjakan harus efektif
Terminate: langkah harus dapat berhenti (stop)
secara jelas

Sekilas Tentang C

 Bahasa C sebagai bahasa tingkat menengah
 Beberapa kelebihan dari bahasa C:
 Bahasa C tersedia hampir di semua jenis komputer, baik mikro,
mini maupun komputer besar (mainframe computer).
 Kode bahasa C bersifat portabel.
 Berbagai struktur data dan pengendalian proses disediakan
dalam C sehingga memungkinkan untuk membuat program
yang terstruktur.
 Dibandingkan dengan bahasa mesin atau assembly, C jauh
lebih mudah dipahami dan pemrogram tidak perlu mengetahui
mesin komputer secara detil.
 C memungkinkan memanipulasi data dalam bentuk bit maupun
byte. Di samping itu juga memungkinkan untuk memanipulasi
alamat dari suatu data atau pointer.

Sekilas Tentang C
 Kelemahan bahasa C yang dirasakan oleh para
pemula bahasa C:
 Banyaknya operator serta fleksibilitas penulisan
program kadang-kadang membingungkan

pemakai. Kalau tidak dikuasai sudah tentu akan
menimbulkan masalah.
 Para pemrogram C tingkat pemula umumnya
belum pernah mengenal pointer dan tidak
terbiasa menggunakannya.

Proses Kompilasi dan Linking Program C

 Agar suatu program dalam bahasa
pemrograman dapat dimengerti oleh komputer,
program haruslah diterjemahkan dahulu ke
dalam kode mesin.
 Adapun penerjemah yang digunakan bisa
berupa interpreter atau kompiler.

Proses Kompilasi dan Linking Program C

Struktur Penulisan Program C
 Program C tersusun atas sejumlah blok fungsi.
 Sebuah program minimal mengandung sebuah

fungsi.
 Fungsi pertama yang harus ada dalam program
C dan sudah ditentukan namanya adalah
main().
 Bagian pernyataan fungsi (sering disebut tubuh
fungsi) diawali dengan tanda kurung kurawal
buka ({) dan diakhiri dengan tanda kurung
kurawal tutup (}).

Struktur Penulisan Program C

Fungsi-Fungsi Dasar C
 Pada C, terdapat beberapa fungsi dasar yang
merupakan struktur yang harus ada dalam
bahasa pemrograman C. Beberapa fungsi yang
terdapat dalam bahasa C adalah:
 Fungsi main()
 Fungsi printf()

Fungsi-Fungsi Dasar C

 Fungsi printf() merupakan fungsi yang umum
dipakai untuk menampilkan suatu keluaran pada
layar peraga. Untuk menampilkan tulisan:
 Selamat belajar bahasa C
 printf(“Selamat belajar bahasa C”);

 Dalam bentuk yang lebih umum, format printf()
 printf(“string kontrol”, daftar argumen);

Fungsi-Fungsi Dasar C
 \” menyatakan karakter petik-ganda
 \\ menyatakan karakter backslash
 \t menyatakan karakter tab
 %d untuk menampilkan bilangan bulat (integer)
 %f untuk menampilkan bilangan titikmengambang (pecahan)
 %c untuk menampilkan sebuah karakter
 %s untuk menampilkan sebuah string

Fungsi-Fungsi Dasar C
 #include

 main( )
{
 printf(“No : %d\n”, 10);
 printf(“Nama : %s\n”, “Ali”);
 printf(“Nilai : %f\n”,80.5);
 printf(“Huruf : %c\n”,‘A’);
}

UDT (User Defined Type) atau
Tipe Data Bentukan
 Bahasa pemrograman bisa memiliki tipe data:
 Built-in : sudah tersedia oleh bahasa pemrograman tersebut.
Tidak berorientasi pada persoalan yang dihadapi.
 UDT : User Defined Type, dibuat oleh pemrogram. Mendekati
penyelesaian persoalan yang dihadapi. Contoh: record pada
Pascal, struct pada C, class pada Java.
 ADT : Abstract Data Type memperluas konsep UDT dengan
menambahkan pengkapsulan atau enkapsulasi, berisi sifat-sifat
dan operasi-operasi yang bisa dilakukan terhadap kelas
tersebut. Contoh: class pada Java.

 Tipe data baru :
 typedef

UDT (User Defined Type) atau
Tipe Data Bentukan
#include
#include
typedef int angka;
typedef foat pecahan;
typedef char huruf;
void main(){
clrscr();
angka umur;
pecahan pecah;
huruf h;
huruf nama[10];
printf("masukkan
umur
anda
");scanf("%d",&umur);

printf("Umur anda adalah %d",umur);
printf("\nmasukkan bilangan pecahan
");scanf("%f",&pecah);
printf("Bilangan pecahan %f",pecah);
printf("\nmasukkan huruf : ");h=getche();
printf("\nHuruf anda %c",h);
printf("\nmasukkan nama : ");scanf("%s",nama);
printf("Nama anda %s",nama);
getch();

:
:

Pengenalan praprosesor
#include
 #include merupakan salah satu jenis pengarah
praprosesor (preprocessor directive). Pengarah
praprosesor ini dipakai untuk membaca file yang
diantaranya berisi deklarasi fungsi dan definisi
konstanta.

 File-file ini mempunyai ciri yaitu namanya diakhiri
dengan ekstensi .h. Misalnya pada program #include
menyatakan pada kompiler agar membaca file
bernama stdio.h saat pelaksanaan kompilasi.
 Bentuk umum #include:
 #include “namafile”

Sekilas Tentang Array
 Array adalah kumpulan data yang bertipe sama yang
menggunakan nama yang sama. Dengan menggunakan
array, sejumlah variabel dapat memakai nama yang
sama. Antara satu variabel dengan variabel lain di
dalam array dibedakan berdasarkan nomor elemen
(subscript).

Sekilas Tentang Array
#include
#include
void main()
{
int data[10]; // array dengan 10 elemen bertipe integer
int elemen;
clrscr();
// entri 10 data
for (elemen=0;elemen