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
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 : Karakter, 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 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 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 Comments are good main() means “start here” Library command Return 0 from main means our program finished without errors Brackets define code blocks
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 Prototype the function Call the function function header The function itself
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();