Antonius Rachmat C, S.Kom Widi Hapsari, MT

Slides:



Advertisements
Presentasi serupa
Keyword, Variabel, Konstanta, Tipe Data, Operator, dan Input / Output
Advertisements

Struktur Dasar Bahasa C
KONSEP BAHASA PEMROGRAMAN
STRUKTUR DATA (5) Pointer dan Function
TI1063 Algoritma dan Pemrograman
1 Algoritma Bahasa Pemrograman dan Bab 1.1. Pengertian Algoritma.
Function.
Deskripsi Matakuliah Matakuliah ini mengajarkan sistem pengorganisasian data pada memori komputer maupun file (berkas) pada suatu media penyimpanan.
Pemrograman Berorientasi Objek Bab 1 – Pemrograman Terstruktur.
Materi-Materi Pengantar Algoritma Konsep Bahasa Pemrograman Flowchart
Alg&Pemrog 2B Sistem Komputer Variable  Variable dapat didefinisikan sebagai bagian dari memory untuk menyimpan nilai yang telah ditentukan.  Setiap.
Fungsi Lecture 7. Motivation Complexity of programming problem  more difficult to consider the solution as a whole  clue: dividing the problem into.
Perkembangan Bahasa.
Struktur Data Ali Mustopa, S.KOM.
STRUKTUR DATA (5) Pointer dan Function
Alokasi Memori Yuliana Setiowati.
Elemen-elemen dlm source code
Diberikan pada Kuliah Sela Teknik Informatika - Universitas Muhammadiyah Malang Tahun 2011.
STRUKTUR DATA (1).
Dasar Pemrograman Komputer [TKL-4002] 2010
Pengantar C (Minggu ke II)
STRUKTUR DATA Pointer dan Function
SEMESTER GANJIL 2009/2010.
1 Pertemuan 4 ELEMEN DASAR C++ Matakuliah: T0456 ~ Algoritma dan Metode Object Oriented Programming Tahun: 2005 Versi: 5.
Pertemuan Operasi Seleksi
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.
03 Elemen Dasar Bahasa Java
Fungsi dan Prosedur.
1 Pertemuan Pengantar Bahasa C Matakuliah: T0616 / Algoritma dan Pemrograman Tahun: 2007 Versi: 1/0.
PHP.
VARIABEL DAN JENISNYA A. Ridwan Siregar.
Teknik. Pemrog. Terstruktur 2
Prosedur dan fungsi By Serdiwansyah N. A..
INTRODUCTION TO C++ Prepared by: Edi, SKom, MKM.
Tipe Data By Serdiwansyah N. A..
Algoritma dan Struktur Data 1 pertemuan 4
PERTEMUAN 3 KONSEP TIPE DATA, OPERATOR DAN IDENTIFIER
Pertemuan 4 PROGRAMMING LANGUAGE.
KONSEP TIPE DATA, OPERATOR DAN IDENTIFIER
Tipe Data, Variabel, & Konstanta
Struktur Data Yuniansyah.
Defri Kurniawan, M.Kom STRUKTUR DATA Defri Kurniawan, M.Kom
Algoritma dan Struktur Data
Identifier, Keyword, dan Tipe data
Tipe Data, Variabel, dan Operator
Elemen-elemen Dasar Pada Bahasa C++
Tipe Data Dasar Variabel dan Konstanta
Melda Dahoklory,S.Kom,MT
Minggu 5 Imam Fahrur Rozi
TEL 2112 Dasar Komputer & Pemrograman
Tipe Data, Variabel, dan Operator
TEL 2112 Dasar Komputer & Pemrograman
S. Indriani Lestariningati, M.T
Algoritma dan Struktur Data (IT234)
IT234 ALGORITMA DAN STRUKTUR DATA
DASAR PEMROGRAMAN KOMPUTER
PEMROGRAMAN BERORIENTASI OBYEK PENDAHULUAN
KONSEP TIPE DATA, OPERATOR DAN IDENTIFIER
Variabel dan Tipe Data TEE 2103 Algoritma & Pemrograman
Pemrograman Terstruktur
STRUKTUR DATA.
Keywords ,Tipe Data, dan contoh Penggunaanya
Algoritma dan Struktur Data (IN211)
Tipe Data, Variabel, dan Operator
Teknik. Pemrog. Terstruktur 2
Algoritma dan Struktur Data
TI Struktur Data Antonius Rachmat C, S.Kom Widi Hapsari, MT.
Operator, Variabel, Konstanta, Tipe Data
T0616 ALGORITMA DAN PEMROGRAMAN (2)
Algoritma dan struktur data
Transcript presentasi:

Antonius Rachmat C, S.Kom Widi Hapsari, MT TI1103 - Struktur Data Antonius Rachmat C, S.Kom Widi Hapsari, MT

Kontrak Perkuliahan Bobot: 3 SKS Email: anton@ukdw.ac.id & widi@ukdw.ac.id Website : http://lecturer.ukdw.ac.id/anton Jadwal Kuliah Kelas: Kamis 07.30 – 10.00 A Kamis 10.30 – 13.00 B Jumat 07.30 – 10.00 C Jumat 10.30 – 13.00 D Ruang B.3.3

Jadwal Praktikum Senin 07.30 – 10.20 Prak A Selasa 10.30 – 13.20 Prak B Rabu 07.30 – 10.20 Prakt C Kamis 07.30 – 10.20 Prak D Jumat 10.30 – 13.20 Prakt E 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 Stack dan Queue dengan 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 Single Linked List Non Circular Konsep, operator, dan deklarasi Pointer pada array Function by value & reference Single Linked List Non Circular Insert, update, dan delete Single Linked List Circular Double Linked List Non Circular Double Linked List Circular

Silabus Function Recursif dan Graf Tree 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 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

Keywords of C Flow control (6) – if, else, return, switch, case, default Loops (5) – for, do, while, break, continue Common types (5) – int, float, double, char, void Structures (2) – struct, typedef Sizing things (1) – sizeof Rare but still useful types (7) – extern, signed, unsigned, long, short, static, const Evil keywords which we avoid (1) – goto

Variable Kita harus mendeklarasikan tipe data setiap variabel pada C. Setiap varibel punya tipe data dan namanya. Variabel adalah unik, tidak boleh berupa keyword, dimulai dengan huruf atau underline, maks 32 karakter int a,b; double d; /* This is a bit cryptic */ int start_time; int no_students; double course_mark; /* This is a bit better */

Pendeklarasian Variabel & Konstanta

Escape Characters

The char type char disimpan dalam kode ascii (integer) Print char dengan %c char menggunakan single quote 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 */ Note this important difference int i= 6; printf ("%d\n",++i); /* prints 7 and sets i to 7 */ All of the above also applies to --.

Casting Memaksa suatu tipe data Tipe data yang serupa float -> int Int -> float Lihat contoh!

Formatting Command Summary Format Command Data type Description %d Int Decimal number %x Hexadecimal number %b Low byte as binary number %c Low byte as ASCII character %f float Floating point number %s char array Char array (string)

Control Structure 1 IF / IF … ELSE SWITCH if ( true ) { DoFirstThing(); DoSecondThing(); }; if ( true ) DoSomething(); else DoSomethingElse(); SWITCH switch ( key ) { case ‘a’: case ‘A’: DoFirstThing(); DoSecondThing(); break; case ‘b’: DoSomething(); default: };

Control Structure 2 WHILE “+=“ increments by n FOR int i, j; for (i=0; i<5; i++) for (j=5; j>0; j--) { // i counts up // j counts down printf(“%i %j\n”, i, j); }; The “++” / ”--” is shortcut used to increment / decrement value of int variables WHILE int i = 0; int StayInLoop = 1; while ( StayInLoop ) { i+=2; // Make sure you have // exit condition! if ( i > 200 ) StayInLoop = 0; }; “+=“ increments by n

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

What is scope variable? The scope of a variable is where it can be used in a program Normally variables are local in scope - this means they can only be used in the function where they are declared (main is a function) We can also declare global variables. If we declare a variable outside a function it can be used in any function beneath where it is declared Global variables are A BAD THING

Why Global is Bad?

The print stars example This program prints five rows of five stars ***** Loop around 5 times to print the stars Variables here are LOCAL variables This prints 'n' stars and then a new line character

Other techniques for debugging Check missing brackets and commas. Check that you have a semicolon at the end of every line which needs one. Put in some printf if you know what your program is DOING you will know what it is DOING WRONG. Try to explain to someone else what the program is meant to do. Take a break, get a cup of coffee and come back to it fresh. Debugging is FRUSTRATING

NEXT Pengantar Struktur Data & Abstract Data Type