Tipe Data Terstruktur Pengantar Logika dan Teknik Pemrograman

Slides:



Advertisements
Presentasi serupa
ARRAY STATIS DAN DINAMIS
Advertisements

ARRAY.
Pertemuan 2 ARRAY. Salah satu Struktur Data yang teramat penting adalah Array atau Larik. Array dapat didefinisikan sebagai suatu himpunan hingga elemen,
ALGORITMA DAN STRUKTUR DATA
Larik/Array Algoritma dan Pemrograman Muhamad Akbar.
STRUKTUR DATA (2) searching array
STRUKTUR DATA array.
STRUKTUR DATA (D3) - Review array - Searching (Sequential & Binary)
ARRAY/LARIK Sumber dari : imaru.files.wordpress.com/2008/02/array-struc-pointer.ppt.
Pemrogramman Terstruktur
Teknik Pemrograman Terstruktur 2
ARRAY (LARIK)
o Array merupakan variabel konpleks dengan tipe data yang sama. o Atau merupakan sekumpulan nilai (elemen) dengan tipe yang sama, dimana masing-masing.
ARRAY.
Algoritma dan Pemrograman
Array dan String Array dan String.
IV. Array.
ARRAY 2 DIMENSI #12 STIKOM Searching Pengantar Inisialisasi Matrik
Algoritma dan Struktur Data
LARIK ( ARRAY ).
Array dan String.
Berdasarkan urutan array (larik) yang homogen tersebut terdapatlah batas atas (upperbound) dan dan batas bawah(lowerbound). Batas bawah merupakan elemen.
L/O/G/O Array (larik) Pertemuan 5 Tenia Wahyuningrum ST3 Telkom Purwokerto Algoritma pemrograman.
STRUKTUR DATA (2) searching array
Teknik Pemrog. Terstruktur 2
Array, POINTER dan FUNGSI
Array, POINTER dan FUNGSI
Bab 6 ARRAY Riyanto Sigit Dasar Array  Array adalah kumpulan dari nilai-nilai data bertipe sama dalam urutan tertentu yang menggunakan sebuah.
Variabel Array Pertemuan 6. Variabel larik / Array Tipe struktur yang terdiri dari sejumlah komponen yang mempunyai tipe yang sama. Suatu array mempunyai.
Pemrogramman Terstruktur
Algoritma dan Struktur Data 1 pertemuan 7
Materi Kuliah 1. Pertemuan ke : 1 Pengenalan Komputer dan Pemrograman
ARRAY/LARIK M. Haviz Irfani, S.Si.
Tipe Data By Serdiwansyah N. A..
Bab & 7.3 NESTED LOOP Array 1 Dimensi 273.
Array By Serdiwansyah N. A..
Pemrograman Terstruktur
Array Multidimensi.
Pengantar struktur data
Tipe Data Terstruktur Pengantar Logika dan Teknik Pemrograman
ARRAY DIMENSI 1 & 2.
Pertemuan 2 ARRAY DIMENSI 1 & 2.
Rahmat Deddy Rianto Dako, ST, M.Eng
created by PUTRA PUTRI DASPRO
PERTEMUAN 9 Algoritma Presented by : Sity Aisyah, M.Kom
TEL 2112 Dasar Komputer & Pemograman Larik (Array)
Algoritma dan Pemrograman ARRAY (LARIK)
ARRAY Oleh : sgo.
Dasar Komputer & Pemrograman 2B
ARRAY.
Prepared by Yohana Nugraheni
MULTIDIMENSI ARRAY Struktur Data
Array dan Matriks.
Array Dimensi 2 & Array Dimensi 3
Pertemuan Hari ke - 1 Sesi-1.
Array (Larik)‏ Struktur Data 1 1.
KONSEP DASAR STRUKTUR DATA
Array Array adalah suatu tipe data terstuktur yang berupa
Algoritma Pemrograman
Array.
Prepared by Yohana Nugraheni
ARRAY / LARIK Defenisi Suatu himpunan hingga elemen terurut dan homogen Struktur data yang mengacu pada sebuah / sekumpulan elemen yang diakses melalui.
Pemrograman Terstruktur
Algoritma dan Pemrograman
ARRAY 2d (matriks) MERISKA DEFRIANI, S.KOMP
Algoritma Pemrograman
Array.
CREATED BY PUTRA PUTRI DASPRO
Array.
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. 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 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. 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!