Algoritma dan struktur data

Slides:



Advertisements
Presentasi serupa
STRUKTUR DATA (5) Pointer dan Function
Advertisements

Tipe Data Bentukan Pertemuan ke-5.
Abstract data type (Structure, Union, Enumeration)
STRUKTUR DATA.
Chapter 3.2 : Tipe, Nama dan Nilai
STRUKTUR DATA.
Pointer Variabel pointer sering disebut sebagai variabel yang menunjuk obyek lain, karena variabel pointer atau pointer adalah variabel yang berisi alamat.
Algoritma & Struktur Data Pointer Evangs Mailoa.
ARRAY OF STRUCT Apabila hendak menggunakan 1 struct untuk beberapa kali, ada 2 cara : Deklarasi manual #include typedef struct Mahasiswa { char.
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA
STRUKTUR DATA (5) Pointer dan Function
STRUKTUR DATA (1).
Pertemuan 22 POINTER Bag.2 Dasar Pemrograman Renni Angreni, S.Kom.
Algoritma & Struktur Data Abstract Data Type Evangs Mailoa.
STRUKTUR DATA Pointer dan Function
Abstract Data Type.
STRUKTUR DATA Structure.
SEMESTER GANJIL 2009/2010.
STRUCT OF ARRAY Apabila hendak menggunakan 1 struct untuk beberapa kali, ada 2 cara : Deklarasi manual #include typedef struct Mahasiswa { char.
POINTER.
Pertemuan ke 3 Algoritma dan struktur data
Pertemuan 12 Array (Larik) & struct Erna Sri Hartatik
STRUKTUR DATA (1).
Array (bagian 2).
Pengantar Struktur Data & TREE
PENGGUNAAN TIPE DATA YANG EFEKTIF
Tipe Data By Serdiwansyah N. A..
STRUKTUR DATA.
Pertemuan 21 POINTER Bag.1 Dasar Pemrograman Renni Angreni, S.Kom.
STRUCT (Dalam Bahasa C)
Algoritma & Pemrograman II
Pengantar struktur data
KELOMPOK 9 ROBBY SETIAWAN AKBAR BAI ALIM WASSAHUA
Achmad Yasid Struktur Data.
STRUKTUR DATA (1) Sri Nurhayati, MT.
TEL 2103 Dasar Komputer & Pemograman Larik (Array)
Struktur Data Yuniansyah.
Defri Kurniawan, M.Kom STRUKTUR DATA Defri Kurniawan, M.Kom
MATERI 1 Review dan Pengantar C (Struktur Bahasa C, Variabel, Konstanta, Tipe Data, Operator)
PENGGUNAAN TIPE DATA YANG EFEKTIF
Pertemuan 1 DATA & STRUKTUR DATA.
Pertemuan 2 ARRAY DIMENSI 1 & 2.
Array 1.
Program komputer Sebuah program komputer yang ditulis dengan bahasa apapun dapat dipandang sebagai sebuah himpunan operasi yang dikerjakan pada data-data.
TEL 2112 Dasar Komputer & Pemograman Larik (Array)
Algoritma dan Pemrograman RECORD (REKAMAN)
STRUKTUR DATA (1).
Algoritma dan Struktur Data
Algoritma dan Struktur Data
Input Dan Output.
~ PERTEMUAN 4 KONSEP TIPE DATA ~
Algoritma dan Struktur Data
Algoritma dan Struktur Data
Algoritma dan Struktur Data
PENGGUNAAN TIPE DATA YANG EFEKTIF
Input dan Output Pertemuan ke-3 Bahasa C.
KONSEP DASAR STRUKTUR DATA
Aktivitas Struktur Data
Algoritma dan Struktur Data
Pengenalan Bahasa Pemrograman C++
Tipe Data Bentukan Pertemuan ke-5.
PERTEMUAN II PENGANTAR
MATERI 1 Review dan Pengantar C (Struktur Bahasa C, Variabel, Konstanta, Tipe Data, Operator)
Algoritma dan Struktur Data
Algoritma dan Stuktur Data
Chapter 3.2 : Tipe, Nama dan Nilai
PENGGUNAAN TIPE DATA YANG EFEKTIF
Pointer.
Algoritma dan Pemrograman C++ (Data Structures)
Pengenalan Struktur Data
Transcript presentasi:

Algoritma dan struktur data Pertemuan 4

Struktur data Struktur data dilihat dari kebutuhan memorynya dapat dikelompokan menjadi 2 macam yaitu: struktur data statis dan struktur data dinamis

Struktur data statis : Struktur data yang kebutuhan/alokasi memorinya tetap (fixed size), tidak dapat dikembangkan atau diciutkan, biasanya menggunakan tipe data array. Array adalah suatu struktur yang terdiri dari sejumlah elemen yang memiliki tipe data yang sama. Pemakaian array tidak selalu tepat untuk program-program terapan yang kebutuhan pengingatnya selalu bertambah selama eksekusi program tersebut. Untuk itu diperlukan satu tipe data yang dapat digunakan untuk mengalokasikan (membentuk) dan mendealokasikan (menghapus) pengingat secara dinamis, yaitu sesuai dengan kebutuhan pada saat suatu program dieksekusi.

Struktur data dinamis : Struktur data yang kebutuhan memorynya sesuai data yang ada, dimana dapat dikembangkan atau diciutkan sesuai dengan kebutuhan. Pengelolaan alamat secara dinamis (dynamic address) dapat dilakukan dengan menggunakan tipe data pointer.

Pada peubah statis, isi dari peubah adalah data sesungguhnya yang akan diolah. Pada peubah dinamis nilai peubah adalah alamat lokasi lain yang menyimpan data sesungguhnya. Dengan demikian data yang sesungguhnya tidak dapat dimasup secara langsung. Karena itu, peubah dinamis dikenal dengan sebutan POINTER yang artinya menunjuk ke sesuatu, yang berisi adress/alamat dalam RAM.

Deklarasi variabel bertipe pointer : tipe data *namavariabel; Contoh: int *p  Maka variabel p menunjuk suatu alamat pada memori. Jika ada variabel A bertipe integer, maka alamat variabel tersebut pada memori bisa diketahui dengan pernyataan &A.

Variabel pointer p, bisa menunjuk ke alamat variabel A, yaitu dengan pernyataan : p = &A; atau dengan memesan sendiri memory baru yaitu dengan perintah p = new int; Sedangkan untuk mengetahui isi dari variabel yang alamatnya ditunjuk oleh p, dengan pernyataan *p;

Contoh Program menuliskan alamat dan nilai dari suatu variabel pointer : #include<iostream> using namespace std; main(){ int a,*b, *c; a=10; b=&a; cout<<*b<<endl; c=new int; *c=25; b=c; cout<<*b<<endl; getchar(); }

Apa itu struktur data? Elemen-elemen data yang dikelompokkan bersama-sama dalam satu nama Elemen-elemen (disebut member) bisa berasal dari tipe yang berbeda Sintaks deklarasi: struct structure_name { member_type1 member_name1; member_type2 member_name2; member_type3 member_name3; . . } object_names;

Mengapa harus ada struktur data? Programmer membutuhkan suatu tipe data baru yang di dalamnya terdiri dari banyak tipe-tipe data. Biasanya digunakan untuk mengolah data yang mempunyai beberapa parameter Misalnya: data mahasiswa mempunyai parameter sbb: nama : tipe string NIM : tipe string Kelas : tipe char Usia : tipe int Alamat : tipe string Karena parameter-parameter tersebut saling berkaitan, dibutuhkan untuk mengelompokkan parameter-parameter tsb dalam suatu variabel baru.

Langkah-langkah penggunaan struktur data Langkah 1: pembentukan struktur  nama struktur beserta anggotanya Langkah 2 : deklarasi variabel bertipe struktur

Contoh lain struktur data Data mobil: Merk (string)  string dalam database dikenal sebagai varchar Tahun pembuatan(string) Bobot kendaraan (int)  integer digunakan untuk bilangan bulat Ukuran kendaraan dalam m3 (int) Bilangan kompleks Real (float)  float digunakan untuk bilangan desimal Imajiner (float)

Contoh pembentukan struct . . . //pembentukan struktur ‘mhs’ struct mhs { char nama[20]; char NIM[6]; char kelas; int usia; char alamat[30]; }; ... dengan ini, kita punya tipe data baru yaitu ‘mhs’

Deklarasi variabel bertipe struct ... mhs data_mahasiswa; Nama struktur Nama variabel Bentuk umumnya: Nama_struct nama_variabel; Dengan ini, kita punya variabel yang bernama data_mahasiswa yang bertipe ‘mhs’. ‘mhs’ sendiri pada dasarnya adalah struktur data

Mengakses data dalam struktur Contoh : mengakses elemen alamat pada variabel data_mahasiswa, yg bertipe mhs misal untuk operasi baca: cin>>data_mahasiswa.alamat; atau operasi tulis: cout<<data_mahasiswa.alamat;

Array struktur data Contoh: mhs data_mhs[20]; deklarasi variabel data_mhs bertipe array dari struktur mhs Masing-masing elemen array data_mhs mempunyai elemen struct nama,NIM, kelas, usia,dan alamat

Pengaksesan elemen struct pada suatu array Contoh : variabel data_mhs bertipe array dari tipe struktur mhs mhs data_mhs[10]; Program akan mengakses elemen struct nama pada data_mhs ke-5,maka sintaksnya: cin>>data_mhs[5].nama;

Pointer ke struktur Contoh: masih menggunakan struktur ‘mhs’, akan dibuat suatu variabel bertipe pointer ke ‘mhs’. Deklarasi variabelnya: mhs *ptr_mhs;

Inisialisasi pointer struktur Inisialisasi pointer struktur bisa menggunakan perintah malloc sbb: ptr_mhs=(mhs*)malloc(jumlah*sizeof(mhs));

Pengaksesan suatu nilai pada pointer struktur Jika pada keadaan ‘biasa’, pengaksesan elemen pada suatu struct dilakukan dengan operator titik (misalnya data_mhs.nama), pada pointer struktur digunakan operator panah untuk mengakses elemennya, misalnya: cin>>ptr_mhs->nama;

Perbedaan Tipe Data, Obyek Data & Struktur Data (1) Tipe data adalah jenis data yang mampu ditangani oleh suatu bahasa pemrograman pada komputer. Tiap-tiap bahasa pemrograman memiliki tipe data yang memungkinkan: Deklarasi terhadap variabel tipe data tersebut Menyediakan kumpulan operasi yang mungkin terhadap variabel bertipe data tersebut Jenis obyek data yang mungkin Contoh tipe data di C? Java? Pascal? .NET?

Perbedaan Tipe Data, Obyek Data & Struktur Data (2) Obyek Data adalah kumpulan elemen yang mungkin untuk suatu tipe data tertentu. Mis: integer mengacu pada obyek data -32768 s/d 32767, byte 0 s/d 255, string adalah kumpulan karakter maks 255 huruf Struktur Data adalah cara penyimpanan dan pengorganisasian data-data pada memori komputer maupun file secara efektif sehingga dapat digunakan secara efisien, termasuk operasi-operasi di dalamnya.

Aktivitas Struktur Data Di dalam struktur data kita berhubungan dengan 2 aktivitas: Mendeskripsikan kumpulan obyek data yang sah sesuai dengan tipe data yang ada Menunjukkan mekanisme kerja operasi-operasinya Contoh: integer (-32768 s/d 32767) dan jenis operasi yang diperbolehkan adalah +, -, *, /, mod, ceil, floor, <, >, != dsb. Struktur data = obyek data + [operasi manipulasi data]

Hubungan SD dan Algoritma Dengan pemilihan struktur data yang baik, maka problem yang kompleks dapat diselesaikan sehingga algoritma dapat digunakan secara efisien, operasi-operasi penting dapat dieksekusi dengan sumber daya yang lebih kecil, memori lebih kecil, dan waktu eksekusi yang lebih cepat. Tidak semua struktur data baik dan sesuai. Contoh untuk problem data bank: pengupdate-an harus cepat, sedangkan penambahan/penghapusan data boleh lebih lambat.

Ciri Algoritma Ciri algoritma yang baik menurut Donald E.Knuth: 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

ADT (Abstract Data 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

Program #include <conio.h> typedef int angka; Contoh: #include <stdio.h> #include <conio.h> typedef int angka; typedef float 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(); }

Hasil Program