Tipe Data Terstruktur Pengantar Logika dan Teknik Pemrograman

Slides:



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

STRUKTUR Konsep Pemrograman.
ARRAY/LARIK Sumber dari : imaru.files.wordpress.com/2008/02/array-struc-pointer.ppt.
INSTRUKSI MASUKAN DAN KELUARAN
ARRAY.
Array dan String Array dan String.
Pemrograman Dasar Pointers.
Algoritma & Struktur Data Linked List Evangs Mailoa.
STRUKTUR DATA (1).
Array dan String.
STRUKTUR DATA Structure.
Pointer Pointer.
Dasar Pemrograman Operasi String.
Struktur Data List Linear : Linked List (Single Linkedlist)
STRUKTUR DATA (2) searching array
Teknik Pemrog. Terstruktur 2
Tipe Data Terstruktur Pengantar Logika dan Teknik Pemrograman
1 Pertemuan 8 Structure Data Matakuliah: T0456 ~ Algoritma dan Metode Object Oriented Programming Tahun: 2005 Versi: 5.
Pemrogramman Terstruktur
Castaka Agus Sugianto, M.Kom., M.CS
Pengenalan Assembler.
ARRAY Array merupakan struktur data yang sering digunakan dalam pemrograman untuk menyimpan data yang akan diolah.
Materi Kuliah 1. Pertemuan ke : 1 Pengenalan Komputer dan Pemrograman
Elemen Dasar C++ Norma Amalia, ST.,M.Eng.
ARRAY / LARIK STRUKTUR DATA Oleh : Yuli Praptomo PHS, S.Kom.
Tipe Data By Serdiwansyah N. A..
Tabel Informasi/ Tabel Simbol
Oleh : Agus Priyanto, M.Kom Norma Amalia, M.Eng
PERTEMUAN 3 KONSEP TIPE DATA, OPERATOR DAN IDENTIFIER
Bab & 7.3 NESTED LOOP Array 1 Dimensi 273.
Bahasa Pemprograman Dasar Pertemuan 9
Pertemuan 4 PROGRAMMING LANGUAGE.
KONSEP TIPE DATA, OPERATOR DAN IDENTIFIER
Array By Serdiwansyah N. A..
TEL 2103 Dasar Komputer & Pemograman Larik (Array)
Defri Kurniawan, M.Kom STRUKTUR DATA Defri Kurniawan, M.Kom
Pengenalan Assembler.
Pointer FARID WAJDI YUSUF.
ARRAY DIMENSI 1 & 2.
Pertemuan 2 ARRAY DIMENSI 1 & 2.
Pseudocode – Tipe Data, Variabel, dan Operator
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)
TEL 2112 Dasar Komputer & Pemograman Larik (Array)
ARRAY Oleh : sgo.
Tipe data & Variabel 1. Bahasa Pascal 2. Tipe data & Variabel
TIPE DATA DASAR C++.
Java array.
~ PERTEMUAN 4 KONSEP TIPE DATA ~
Linked List 6.3 & 7.3 NESTED LOOP.
Array dan Matriks.
VARIABEL DAN TIPE DATA Erizal, S.Si, M.Kom Sistem Informasi
Pertemuan Hari ke - 1 Sesi-1.
KONSEP TIPE DATA, OPERATOR DAN IDENTIFIER
KONSEP DASAR STRUKTUR DATA
Array, Class, Obyek, Method danConstructor.
Array.
Prepared by Yohana Nugraheni
Struktur Data.
Tipe Data Bentukan Pertemuan ke-5.
Tipe data & Variabel 1. Bahasa Pascal 2. Tipe data & Variabel.
Struktur Data.
Algoritma Pemrograman
Array, Class, Obyek, Method danConstructor.
Array.
Java array.
Array.
Operator, Variabel, Konstanta, Tipe Data
Pengenalan Struktur Data
Tipe Data Struktur Ridwan, S.T., M.Eng. Pokok Pembahasan Bahan Kajian. Tipe Data Terstruktur Materi Tipe Data: 1.Definisi data, tipe data dan struktur.
Transcript presentasi:

Tipe Data Terstruktur Pengantar Logika dan Teknik Pemrograman Politeknik Negeri Jakarta Th.2012 Risna Sari (risna0306@yahoo.com)

Pengantar Variabel tunggal hanya bisa menyimpan satu data tunggal, lalu bagaimana jika datanya banyak? Struktur data digunakan untuk mempermudah implementasi algoritma. Stuktur data adalah sejumlah data yang berhubungan disusun dalam satu struktur. Tipe data terstruktur: Array Struct Union

Array Array (larik) adalah penampung sejumlah data sejenis(homogen) yang menggunakan satu identifier. Elemen array diakses melalui indeks (subscript) dari nol sampai n-1 (n=jumlah elemen array). Pengolahan data array per elemen. Elemen array dapat diakses secara langsung (random). Berdasarkan banyaknya indeks array dibagi menjadi satu dimensi,dua/ multidimensi array

Array Satu Dimensi Array Satu Dimensi: menggunakan satu buah indeks. Deklarasi data_type array_name [size_elemen]; Deklarasi dengan NILAI AWAL data_type array_name [size_elemen]= {nilai1,nilai2, nilai3,…, nilaiN} int nilai[4]; char huruf[]= {‘a’,’b’,’c’};

Alamat Elemen Array Satu Dimensi Dari deklarasi variabel array pada slide sebelumnya, maka penyimpanan nilai pada memory seperti gambar disamping ini. Perhatikan bahwa array tidak langsung diinisialisasi setiap kali dipesan. Array bilangan tidak diNOLkan, array karakter tidak dijadikan spasi melainkan isi memory apa adanya.

C++: Implementasi Array Satu Dimensi

Implementasi Array 1 Dimensi

Array Dua Dimensi Array dua dimensi merupakan gabungan dari array-array satu dimensi. Array dua dimensi ini, misalnya mengilustrasikan sebuah bangunan yang terdiri dari tiga lantai, dan masing-masing lantai terdiri dari 7 ruangan. Disebut array dua dimensi, karena untuk menunjuk sebuah ruangan, diperlukan dua penunjuk yaitu nomor lantai dan nomor ruangan. Dari ilustrasi diatas terlihat,array terdiri dari 3 baris dan 7 kolom, dan jumlah elemennya = 3x7 = 21 elemen. Diebut juga MATRIKS,karena terdiri dari baris dan kolom

Menyiapkan Array Dua Dimensi Untuk menyiapkan array dua dimensi pada deklarasi bisa ditulis dengan beberapa pilihan yaitu: Array numerik dengan isinya Array numerik tanpa isinya Array character dengan isinya Array character tanpa isinya Array character/ tidak ditentukan jumlah baris dan atau kolomnya

Implementasi Array 2 Dimensi

Lanjutan implementasi… Dari program yang tercetak terlihat bahwa array tercetak seperti gambar berikut: Di dalam memory ternyata tersusun “berderet kesamping”, dikatakan bahwa komputer menggunakan sistem Row Major Order(Urutan yang mengutamakan baris), apabila sistem menggunakan sistem column Major Order, maka urutan penyimpanannya mengutamakan kolom. 6

Penyimpanan Array Dua Dimensi Row Major Order Column Major Order Disimpan pada memory dengan mengutamakan baris. Dari contoh program pada slide sebelumnya, maka penyimpanan dimulai dari baris pertama,lalu baris kedua. Disimpan pada memory dengan mengutamakan kolomnya. Maka penyimpanan disimpan dari kolom pertama kemudian kolom kedua dan seterusnya.

Pengisian Array Dua Dimensi Penggalan algoritma mengisi nilai 17 pada array A[1][2]. A[1][2]=17; //Atau I=1; J=2; A[I][J]=17; //Atau X=17; A[I][J]=X; Penggalan algoritma mengisi nilai pada array A dengan nilai yang berbeda pada tiap baris dan kolomnya. I=0; While( I<=2 ) { J=0; while (J<=4) { A[I][J] = I*5 + J+1; J++; } I++; } Penggalan algoritma mengisi nilai pada array A dengan nilai yang sama pada tiap barisnya. I=0; While( I<=2 ) { J=0; while (J<=4) { A[I][J] = J; J++; } I++; }

Latihan Kelas Buatlah Penggalan Algoritma Untuk Array yang terbentuk Sebagai Berikut: Array A Array C Array B Array D Array E Array E

Pointer Pointer dilihat dari fungsinya, diartikan sebagai suatu nilai yang menunjuk alamat suatu lokasi memori. Lokasi memori: bisa diwakili variabel atau tidak (lokasi bebas dalam memori). Variabel pointer: nilai pointer yang ditampung dalam variabel. (Nilai alamat suatu lokasi) Selanjutnya, Variabel pointer hanya disebut pointer.

Implementation of pointers “ It is common for programmers (and even textbook writers) to equate pointers with addresses, but this is a mistake. A pointer is a high level concept: a reference to an object. An address is a low-level concept: the location of a word in memory. Pointers are often implemented as addresses, but not always. On a machine with a segmented memory architecture, a pointer may consist of a segment id and an offset within the segment. In a language that attempts to catch uses of dangling references, a pointer may contain both an address and an access key. “

Pointer & Array Secara internal array diterjemahkan ke dalam bentuk pointer. Array adalah pointer constant ke elemen pertama array, sehingga untuk memanipulasi elemen array dapat juga dilakukan dengan pendekatan pointer. Karena secara fisik elemen-elemen array diletakan berurutan dalam memory. Array index nol itu merupakan suatu pointer constant. Today the use of pointer arithmetic is mainly a matter of personal taste: some C programmers consider pointer-based algorithms to be more elegant than their array-based counterparts. Certainly the fact that arrays are passed as pointers makes it natural to write subroutines in the pointer style.

Pointer pada C++ *(array_name + expression) array_name tanpa indeks ekuivalen dengan alamat elemen pertama array,maksudnya arr = &arr[0]. Contoh-01 int A= 25, *P; (1) P = &A; (2) cout<<*P; (3) Instruksi : int A =25,*P; A dengan tipe data integer, isi=25. P dengan tipe POINTER to integer (ditulis : “int*), untuk menyimpan alamat data yang bersifat integer. Instruksi : P = &A; mengisi pointer P dengan alamat variabel A, disebut pointer P menunjuk variabel A. bila alamat A=H21EC, maka isi pointer P atau nilai pointer P = H21EC (yang tampil adalah nilai dari A nya bukan alamatnya) Dengan cout << *P; mencetak isi variabel yang alamatnya ditunjuk oleh pointer P. sedangkan variabel yang alamatnya sedang ditunjuk oleh pointer P adalah variabel A.

Lanjutan … Contoh-02 Contoh lain: Baca E-Book C++ Programming halaman mulai 70 - 76

Struct/ Records(Structure) Adalah suatu struktur data yang menggabungkan beberapa data yang berbeda tipe(heterogen) tetapi berkaitan. Berbeda dengan array , kalau array tipe data nya sama semua, kalo struct ini berbeda tipe datanya. Misal: data NIM,nama dan IPK seorang mahasiswa. Struct memiliki istilah berbeda-beda dalam bahasa pemrograman: Algol 68, C++ dan C menggunakan istilah “structure” dalam recordnya Fortran 90 menggunakan istilah “types”

Syntax & Operation struct [type_name] { type mvar_name[,mvar_name, … ]; [type mvar_name [,mvar_name, … ];] } [svar_name]; //Keterangan: type_name adalah nama tipe struct. mvar_name adalah nama member atau field. svar_name adalah nama variabel struct. Deklarasi pada variabel struct dapat dilakukan pada saat deklarasi tipe struct(seperti diatas) Atau cara terpisah seperti dibawah ini: struct type_name svar_name [,svar_name, … ]; struct type_name svar_name = {value1, value2, value3, … , value_n};

Struct dalam C++ // Deklarasi Variabel struct struct { char nim[11]; char nama[26]; float ipk; }akad_mhs; // Deklarasi Variabel struct, apabila struct t_akad akan digunakan oleh variabel lain Struct t_akad { char nim[11]; char nama[26]; float ipk; }; struct akad_mhs;

Struct dalam C++: Lanjutan … // Deklarasi Variabel struct secara terpisah struct t_akad { char nim[11]; char nama[26]; float ipk; }; struct t_akad akad_mhs; // inisialisasi variabel struct struct t_akad { char nim[11]; char nama[26]; float ipk; }; void main() { struct t_akad akad_mhs1; struct t_akad akad_mhs2 ={“092094”.”Andi Jabar”, 3.55}; . . . }

Struct dalam C++: Lanjutan … Untuk mengaksesf field struct gunakan dot operator yaitu nama variabel struct diikuti titik dan nama field. //Akses Field struct struct t_akad { char nim[11]; char nama[26]; float ipk; }; void main() { struct t_akad akad_mhs; . . . cin >> akad_mhs.nim; strcpy(akad_mhs.nama, “Budi Atmaja”); }

Union/ Variant Records Union digunakan untuk kongsi memori, dimana nantinya suatu lokasi memori dapat ditempati oleh dua atau beberapa variabel dengan masing-masing tipe data yang berbeda. A variant record provides two or more alternative fields or collections of fields, only one of which is valid at any given time.

Syntax & Operation union [type_name] { type mvar_name; } [uvar_name]; //Keterangan: type_name adalah nama tipe union. mvar_name adalah nama-nama variabel yang kongsi memori, min. 2 variabel. uvar_name adalah nama variabel union. // Union dari int dan char union t_bil { unsigned int di; unsigned char dc[2]; } bil_x; Elemen Union dapat diakses dengan bentuk variabel_union.nama_elemen seperti: bil_x.di atau bil_x.dc[1]

String String adalah kumpulan karakter ASCII. Dalam bahasa C terdapat dua cara mendeklarasikan variabel string yaitu: Pointer to character Array of character , // deklarasi sebuah pointer yang akan berisi alamat awal sebuah string char*string_id; // deklarasi sebuah array of character char string_id[constant];

Manipulasi Array of Character // Fuction menyalin string dari src ke dest char strcpy(char*dest, const char*scr); // Function mengembalikan angka yang menyatakan panjang string s tanpa menghitung null character pada ujung string char string_id[const char*s]; // Function ini membandingkan string s1 dan s2 int strcmp(const char*s1, const char*s2); // Function ini membandingkan string s1 dan s2 tanpa membedakan huruf kecil int strcmpi(const char*s1, const char*s2); // Function ini menambahkan string src ke string dest char strcat(char*dest, const char*scr);

Linked List Dibahas pada pertemuan selanjutnya.

Files Input Output & Sequential File Dibahas pada pertemuan selanjutnya.

Nilai Jual Triwulan ke - Latihan Barang Nilai Jual Triwulan ke - Total Nilai Penjualan 1 2 3 4 Televisi 999 99999 Sound System Kipas Angin Penyejuk Udara Kulkas Elektronik Dapur Total 9999 999999 Data penjualan triwulanan barang elektronik suatu perusahaan disajikan dalam bentuk tabel diatas. Untuk menampung nilai penjualan triwulanan berbagai komponen elektronik tersebut gunakan sebuah array dua dimensi berukuran 6 baris dan 4 kolom. Buat algoritmanya!