Transcript Slide 1

Struktur Data
Ali Mustopa, 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).
Aturan Praktikum
•
•
•
Datang dan mengilkuti praktikum dengan
tertib dan teratur
Bila ada halangan hubungi asisten yang
bersangkutan
Penilaian dari praktikum adalah
– Responsi
– Tugas
– Presensi
Aturan Lain
•
•
•
Tidak ada ujian susulan
Presensi minimal 75%
Menggunakan pakaian yang sopan dan
rapi.
STRUKTUR DATA
Suatu koleksi / kelompok data yang dapat
dikarakterisasikan oleh organisasi serta operasi yang
didefinisikan terhadapnya
Data di kategorikan menjadi :
1. Tipe data tunggal
: Integer, Boolean dan Karakter
2. Tipe data majemuk
: String ( Untai )
Struktur data di kategorikan menjadi :
1. Struktur Data sederhana
: Array dan Record
2. Struktur Data majemuk
: Linier dan Non Linier
Objektif
• Mengetahui maksud struktur data dan
menjelaskan penggunaannya dalam
pemrograman
• Mengetahui operasi yang terkait dengan
struktur data dan metode pemrograman
paling umum yang terkait dengan struktur
tersebut.
• Mengetahui metode dan notasi yang
digunakan untuk menspesifikasi apa-apa
yang perlu dikerjakan oleh program dan
bagaimana program ini melakukan pekerjaan
tersebut.
Jenis/Tipe Data (Data Type)
• Terdiri dari
– Set nilai data
– Set operasi yang bisa diterapkan pada nilai
tersebut
Klasifikasi Jenis Data
• Simple Data Type (Jenis Data Sederhana)
– Item data individual
• Data Structures / data aggregates (struktur
data)
– Kombinasi dari item data individual
– Membentuk item data lain
Jenis Data Sederhana
• Numerik, terdiri dari :
– Numerik integer (bilangan bulat)
– Numerik real (bilangan riil)
• Karakter, terdiri dari :
– Alfabet : a .. z, A .. Z
– Angka : 0 .. 9
– Simbol khusus : + ? ‘ ! [ ] { } … dll
• Boolean (logika), terdiri dari :
– True
– False
Identifier
• Dalam bahasa pemrograman, item data
diidentifikasi menurut namanya, bukan menurut
alamat lokasinya dalam memori
• Identifier akan merupakan konstanta jika ia
selalu dikaitkan dengan nilai data yang sama
• Identifier akan merupakan variabel jika nilai
datanya yang terkait bisa berubah
• Literal, nilai data yang tertera dalam program
namun bukan sebagai identifier
Deklarasi Data
• Jenis data konstanta dan variabel harus
didefinisikan dalam program sehingga :
– operasi yang tepat dapat dijalankan pada nilai
data dan
– Jumlah ruang penyimpanan yang tepat bisa
ditentukan
• Statement untuk mendefinisikan jenis data
disebut declarative statement
• Beberapa bahasa pemrograman memiliki
sintaks pendeklarasian yang berbeda
• Beberapa contoh program (pendeklarasian
data) yang akan diberikan ditulis dalam
pseudo-code
Contoh
Constants
pi = 3.141592654
Variables
i, qty
: integer
harga_satuan, harga_beli : real
status
: boolean
nama
: character(25)
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 bahasabahasa 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
• Consists mainly of:
• Preprocessor Directive
• Function Definitions
• Data Structures
• Code programs
• Function Body
#include <….>
#define ….
int coba();
void main()
{
int a;
printf(“Hello, world!\n”);
a = coba();
}
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;
}
Brackets
define code blocks
Library command
Return 0 from main means our program
finished without errors
What is a function?
• The function is one of the most basic things to
understand in C programming.
• A function is a sub-unit of a program which
performs a specific task.
• We have already (without knowing it) seen
one function from the C library – printf.
• We need to learn to write our own functions.
• Functions take arguments (variables) and
may return an argument.
– Formal parameter
– Actual parameter
Type of function
• Void : tidak mengembalikan nilai
• Non-void : mengembalikan nilai
An example function
#include <stdio.h>
int maximum (int, int);
/* Prototype – see later in lecture */
int main(int argc, char*argv[])
Prototype the function
{
int i= 4;
int j= 5;
Call the function
int k;
k= maximum (i,j); /* Call maximum function */
printf ("%d is the largest from %d and %d\n",k,i,j);
printf ("%d is the largest from %d and %d\n",maximum(3,5), 3, 5);
return 0;
}
function header
int maximum (int a, int b)
/* Return the largest integer */
The function itself
{
if (a > b)
return a; /* Return means "I am the result of the function"*/
return b;
/* exit the function with this result */
}
The main Function
• function main() dibutuhkan agar program C
dapat dieksekusi!
• Tanpa function main, program C dapat dicompile
tapi tidak dapat dieksekusi (harus dengan flag
parameter –c, jika di UNIX)
• Pada saat program C dijalankan, maka compiler
C pertama kali akan mencari function main() dan
melaksanakan instruksi-instruksi yang ada di
sana.
int main()
• Berarti di dalam function main tersebut harus terdapat
keyword return di bagian akhir fungsi dan
mengembalikan nilai bertipe data int,
• Mengapa hasil return harus bertipe int juga? karena tipe
data yang mendahului fungsi main() diatas
dideklarasikan int
• Tujuan nilai kembalian berupa integer adalah untuk
mengetahui status eksekusi program.
– jika “terminated successfully” (EXIT_SUCCESS) maka, akan
dikembalikan status 0,
– sedangkan jika “terminated unsuccessfully” (EXIT_FAILURE)
akan dikembalikan nilai status tidak 0, biasanya bernilai 1
• Biasanya dipakai di lingkungan UNIX
Contoh Program
• Untuk Menyegarkan Pikiran Anda COba
sekarang anda buat sebuah program
mencari nilai maksimal dari data berikut
34,23,56,42,46,45,32,54
Clue:
Gunakan semua kemampuan mengingat
anda!!!!
Good Luck
Contoh Program
#include <stdio>
#include <conio>
int main(){
int Data[8]={34,23,56,42,46,45,32,54};
int Tmp=0;
for (int i=0;i<8;i++){
if (Data[i]>=Tmp){
Tmp=Data[i];
}
}
printf("Nilai Tertinggi dari deret : %i",Tmp);
getch();
}