STRUKTUR DATA Terttiaavini, S.Kom.,M.Kom PROGRAM STUDI SISTEM INFORMASI

Ukuran: px
Mulai penontonan dengan halaman:

Download "STRUKTUR DATA Terttiaavini, S.Kom.,M.Kom PROGRAM STUDI SISTEM INFORMASI"

Transkripsi

1 BAB I PENDAHULUAN Struktur data adalah cara menyimpan atau merepresentasikan data didalam komputer agar bisa dipakai secara efisien. Sedangkan data adalah representasi dari fakta dunia nyata. Fakta atau keterangan tentang kenyataan yang disimpan, direkam atau direpresentasikan dalam bentuk tulisan, suara, gambar, sinyal atau simbol. Struktur data dapat di artikan juga sebagai representasi data pada memory secara logika dan meng-karakterisasikan setiap variabel dalam program secara eksplisit ataupun implisit, Untuk operasi yang dibolehkan/berlaku pada object data tersebut sehingga sangat diperlukan dalam perencanaan Algoritma dan penyusunan program sebagai dasar teknik dari Database Pemakaian struktur data yang tepat didalam proses pemrograman akan menghasilkan algoritma yang lebih jelas dan tepat, sehingga menjadikan program secara keseluruhan lebih efisien dan sederhana. Dalam teknik pemrograman, struktur data berarti tata letak data yang berisi kolomkolom data, baik itu kolom yang tampak oleh pengguna (user) atau pun kolom yang hanya digunakan untuk keperluan pemrograman yang tidak tampak oleh pengguna. Setiap baris dari kumpulan kolom-kolom tersebut dinamakan catatan (record). Lebar kolom untuk data dapat berubah dan bervariasi. Ada kolom yang lebarnya berubah secara dinamis sesuai masukan dari pengguna, dan juga ada kolom yang lebarnya tetap. Dengan sifatnya ini, sebuah struktur data dapat diterapkan untuk pengolahan database (misalnya untuk keperluan data keuangan) atau untuk pengolah kata (word processor) yang kolomnya berubah secara dinamis. Contoh struktur data dapat dilihat pada berkasberkas lembar-sebar (spreadsheet), pangkal-data (database), pengolahan kata, citra yang dipampat (dikompres), juga pemampatan berkas dengan teknik tertentu yang memanfaatkan struktur data. Dalam pengertian lain, Struktur Data dapat juga di sebut sebagai suatu kumpulan objekobjek data yang memiliki aturan (terorganisir) yang kemudian di golongkan berdasarkan operasi-operasi untuk memanipulasinya. Contoh objek data tersruktur adalah Array, Record, shorting, linklist,stack, Queue, Tree, graph..dll I.2. Dasar Pengetahuan Struktur data Dalam mempelajari struktur data hal-hal awal yang perlu kita ketahui adalah tentang indentifier, konstanta, variable, dan tipe data. a) Identifier Identifier merupakan nama yang digunakan untuk keperluan menyimpan suatu nilai, pendeklarasian variabel, konstanta, tipe dan nama program atau sub program. Identifier tidak boleh ditulis secara sembarangan. Aturan Penulisan Identifier - Nama identifier harus dimulai dengan karakter huruf alfabet a-z atau A-Z. - Setelah karakter pertama, dapat dilanjutkan dengan karakter alfanumerik (angka maupun huruf) dan underscore (_). - Dalam penulisan identifier tidak boleh menggunakan karakter-karakter berikut ini : # $ % ^ & () * ) - + = `; : < >,.? / { } [ ] \ - Tidak boleh menuliskan identifier dengan nama yang sama pada kata kunci dari Pascal, seperti 1

2 and, array,, case, const, div, do, downto, else, end, file, for, forward, function, goto, if, in, label, mod, nil, not, of, or, packed, procedure, program, record, repeat, set, then, to, type, until, var, while, with - Jika ingin tetap digunakan, maka kata tersebut harus dirangkai dengan kata/karakter yang lain. Misal program_if, 1. b) Konstanta Suatu konstanta direferensikan lewat identifier dan dapat diberikan nilai tertentu. Nilai yang disimpan di dalam konstanta tidak dapat berubah. Kata kunci di dalam Pascal untuk mendeklarasikan konstanta adalah const. Contoh program konst; uses crt; const phi = ; (* real *) fakultas = Teknologi Informasi ; (* string *) clrscr; writeln(phi); writeln(fakultas); readln; end. c) Variabel Varibel hampir mirip dengan konstanta. Nilai yang disimpan di dalam variabel dapat diubah kapan saja di dalam program. Kata kunci di dalam Pascal untuk mendeklarasikan konstanta adalah var. Setiap variabel yang dibuat di dalam satu baris harus dipisah dengan tanda koma. Contoh Variabel program vari; uses crt; var nama : string; nim : integer; nilai : char; clrscr; nama := Annisa Fitriani ; nim := ; nilai := A ; writeln( NAMA:,nama); writeln( NIM:,nim); writeln( AKSARA:,aksara); readln; end. d) Type data Berdasarkan nilai yang disimpan di dlam variabel, terdapat 4 jenis tipe data. 1) Integer Integer adalah tipe data nilainya merupakan bilangan bulat dan terbagi atas beberapa macam. Berikut ini adalaha tabelnya: Type Range Ukuran Format ShortInt Integer LongInt Signed 8-bit Signed 16-bit Signed 32-bit Byte Unsigned 8-bit Word Unsigned 16-bit 2

3 2) Boolean Boolean digunakan untuk merepresentasikan logika. Boolean hanya dapat bernilai True(1) dan False(0). Di bawah ini adalah beberapa tipe data Boolean: Type Range Ukuran Boolean ByteBool WordBool LongBool Byte-sized Byte-sized Word-sized Long-sized 1 (8bit) 1 (8bit) 2 (16bit) 4 (32bit) 3) Real Real biasanya digunakan untuk merepresentasikan nilai pecahan. Jenis-jenis tipe data real seperti pada tabel berikut ini: Type Range Ukuran Digit Real Single Double Extended Comp ± ± ± ± ± ) Karakter Tipe data karakter hanya dapat menampung satu karakter saja dan mengalokasikan satu byte memori. 5) String String adalah tipe data gabungan (array) dari bebrapa karakter. e) Operasi Aritmetika Macam-macam operator aritmetik pada Pascal Operator Operation Operands Result + - * / div mod Penjumlahan Pengurangan Perkalian Pembagian Pembagian Integer Modulus real/integer real/integer real/integer real/integer integer integer real/integer real/integer real/integer real integer integer Operasi Aritmetika Operasi aritmetik dalam Pascal tidak dapat diterapkan pada variabel bertipe data boolean dan char. Untuk menyatakan tanda negatif dari suatu nilai digunakan tanda minus (-). Contoh operasi aritmetika. bilbulat := (2*15)+(-2) bilriil := 37.5 * 3-9 Contoh Operasi Aritmetika program arit; uses crt; const phi = 3.14; var jari : integer; luas : real; clrscr; jari := 5; luas := phi * (jari*jari); writeln( LUAS:,luas); end. 3

4 BAB II JENIS II.1. Jenis Data dapat dikatagorikan menjadi : a) Type data sederhana terdiri atas - Data sedehana tunggal Contoh: integer, real,boolean,karakter - Data sederhana majemuk Contoh : string b) Struktur data terdiri atas - Struktur data sederhana Contoh type data sederhana, type terstruktur, matrik, array, record - Struktur data majemuk, terdiri atas : Linier Contoh linked list,stack (tumpukan), queue (antrian) Non linier Contoh pohon binary (binary tree), pohon cari binar (Binary search tree), pohon cari M Way (M Way search), general tree, graph II.2. Array Array adalah suatu tipe data terstruktur yang terdapat didalam memori, yang mempunyai tipe data yang sama dengan jumlah komponen yang tetap. Digunakan untuk merepresentasikan sekumpulan informasi yang bertipe sama dan disimpan dalam urutan yang sesuai dengan defenisi indeks secara kontigue dalam memori komputer. Tipe data indeks yang dapat digunakan adalah tipe data yang memiliki keterurutan misalkan integer, karakter Penyimpanan array secara logik dlm memori komputer seperti dibawai ini Deklarasi Array type <nama array> = array[index array] of <tipe data> Contoh Deklarasi array untuk nama hari Hari = (senin,selas,rabu,kamis,jumat,sabtu,minggu); Type namahari : array[hari] of string; Deklarasi array untuk nama bulan Type bulan : array[12] of string Deklarsi array menggunakan konstanta untuk menentukan indeks array Const maks = 100; Type nilai : array[maks] of string; Kekebihan Array Keunggulan array adalah sebagai berikut : 1. Array sangat cocok untuk pengaksesan acak. Sembarang elemen di array dapat diacu secara langsung tanpa melalui elemen-elemen lain. 2. Jika berada di suatu lokasi elemen, maka sangat mudah menelusuri ke elemenelemen tetangga, baik elemen pendahulu atau elemen penerus. 3. Jika elemen-elemen array adalah nilai-nilai independen dan seluruhnya harus terjaga, maka penggunaan penyimpanannya sangat efisien. 4

5 Kelemahan Array Array mempunyai fleksibilitas rendah, sehingga tidak cocok untuk berbagai aplikasi karena array mempunyai batasan sebagai berikut : 1. Array harus bertipe homogen. Kita tidak dapat mempunyai array dimana satu elemen adalah karakter, elemen lain bilangan, dan elemen lain adalah tipe-tipe lain. 2. Kebanyakan bahasa pemrograman mengimplementasikan array statik yang sulit diubah ukurannya di waktu eksekusi. Bila penambahan dan pengurangan terjadi terus-menerus, maka representasi array : - Tidak efisien dalam penggunaan memori - Menyiakan banyak waktu komputasi - Pada suatu aplikasi, representasi statis tidak dimungkinkan II.3. Record Bila penambahan dan pengurangan terjadi terus menerus, maka representasi array : - Tidak efisien dalam penggunaan memory - Menyiakan banyak waktu komputasi - Pada suatu aplikasi, representasi statis tidak di mungkinkan. Record (rekaman) merupakan kumpulan data yang terdiri dari beberapa field yang memiliki tipe data berbeda ataupun sama. Penyimpanan Record secara logik dalam memori komputer seperti dibawah ini. Kelemahan Record - Hanya dapat menginput satu set/baris data Kelebihan Record - Pada satu set/baris data dapat terdiri beberapa field yang memiliki tipe data yang berbeda. Pada implementasi ke bahasa pemrograman Array dan Record dapat di gabungkan dalam satu type data bentukan Record. II.4. Pointer Pointer adalah variabel yang berisi alamat memori sebagai nilainya. Pointer digunakan bersamaan dengan dynamic memory allocation. Data yang ditunjuk dengan variabel pointer merupakan alokasi dinamik, selama eksekusi program. Ini berarti program dapat mengciptakan dan menghapus data yang di tunjuk oleh variabel pointer. Larik dan record merupakan perubah statik (banyak data yang diolah terbatas). Peubah Dinamis adalah peubah yang akan dialokasikan hanya pada saat diperlukan yaitu setelah program dieksekusi. Peubah dinamis menggunakan variabel Pointer Pointer adalah variabel yang sering dikatakan sebagai variabel yang menunjuk ke variabel yang lain. Perbedaan antara variabel bertipe array dan pointer 5

6 Deklarasi Pointer - Bentuk Umum Type <nama pointer> = ^<nama tipe data> <nama tipe data> = <tipe data> Var PI,P2 = <nama pointer> Contoh Type point = ^data; data = integer; Var PI,P2 = pointer; - Bentuk Umum Contoh Type <nama pointer> = ^<nama tipe data> <nama tipe data > = record; <nama tipe data1> = <tipe data 1> <nama tipe data2> = <tipe data 2> <nama tipedata n> = <tipe data n> Var PI,P2 = <nama pointer> Type point = ^data; data = record; nama : string[25]; alamat : string[35]; pekj : string[30]; Var PI,P2 = point; New(p1); New(p2); II.4.1. Operasi Pada Pointer Ada 2 operasi dasar yang bisa kita lakukan data yg bertipe pointer yaitu - Pengkopian Pointer Contoh : New(p1); New(p2); P1^.nama := Anisa ; P1^.nama := Km. 5 ; P1^.Pekj := Wiraswasta - Pengkopian isi simpul Jika statemen yang diberikan adalah P2^ := P1^ maka hasil yang diperoleh 6

7 BAB III PENGURUTAN DATA (SHORTING) Pengurutan Internal dan Pengurutan Ekternal Pengurutan dibagi menjadi 2 kelompok : 1. Pengurutan Internal Pengurutan terhadap sekumpulan data yang disimpan di memori utama komputer. Bersifat sementara 2. Pengurutan Eksternal Pengurutan data yang disimpan didalam memori sekunder. Bersifat tetap. Banyaknya algoritma pengurutan yang tersedia menimbulkan pertanyaan : algoritma manakah yang memiliki kinerja paling baik?. Kinerja pengurutan data sangatlah menentukan kinerja sistem. Karena itu pemilihan Metode pengurutan yang cocok akan berperan penting dalam suatu aplikasi. Pada Bab ini metode pengurutan yang akan dibahas hanya tiga yaitu 1. Pengurutan Gelembung (Bubble Sort) 2. Pengurutan Maksimum/Minimun (Maximum / Minimum Sort) 3. Pengurutan Sisip (Inserrtion Sort) Pengurutan gelembung (Bubble sort) Metode pengurutan gelembung di inspirasi dari gelembung sabun yang berada di atas permukaan air Karena berat jenis sabun lebih ringan dari pada berat jenis air, maka gelembung sabun akan selalu terapung diatas air. Prinsip pengapungan diatas digunakan pada pengurutan gelembung. Elemen larik yang berharga paling kecil diapungkan artinya diangkat keatas (atau ke ujung larik) melalui pertukaran Proses pengapungan ini dilakukan sebanyak N kali langkah. Pada akhir setiap langkah ke K, larik L[1..N] akan terdiri dari dua bagian yang sudah terurut yaitu L[1..K] dan bagian yang belum terurut L[K+1..N]. Setelah langkah terakhir diperoleh larik L[1..N] terurut menaik Algoritma Pengurutan gelembung Langkah 1 : Mulai dari elemen K = N, N-1, 2, bandingkan L[K] dengan L[K-1], jika L[K] < L[K-1], tukar L[K] dengan L[K-1] Pada akhir langkah 1, elemen L[1] berisi harga minimum pertama. Langkah 2 : Mulai dari elemen K = N, N-1, 3, bandingkan L[K] dengan L[K-1], jika L[K] < L[K-1] tukar L[K] dengan L[K-1] Pada akhir langkah 2, elemen L[2] berisi harga minimum kedua dari larik L[1..2] yang terurut. Langkah 3 : Mulai dari elemen K = N, N-1, 4, bandingkan L[K] dengan L[K-1], jika L[K] < L[K-1] tukar L[K] dengan L[K-1] Pada akhir langkah 3, elemen L[3] berisi harga minimum kedua dari larik L[1..3] yang terurut. 7

8 Langkah N - 1 : Mulai dari elemen K = N, bandingkan L[K] dengan L[K-1], jika L[K] < L[K-1] tukar L[K] dengan L[K-1] Pada akhir langkah N, elemen L[N] berisi harga minimum dari larik L[1..N] yang terurut. Contoh : Terdapat larik berisi dengan 6 buah elemen ( N=6) yang belum terurut. Lakukan metode Bubble Sort untuk isi larik tersebut. Akhir dari langkah 5 menghasilkan deretan data didalam larik L yang sudah terurut menaik. Untuk seluruh prosedur pengurutan pada Bab ini menggunakan Deklarasi Array sebagai berikkut : 8

9 {**Mendefenisikan struktur data**} type larik = array[1..100] of integer; var l : larik; i,n,k,temp : integer; Prosedur untuk menginput data sebanyak N data adalah write('banyak data yang di input : ');readln(n); for i :=1 to n do write ('Data ke ',i,' : ');readln(l[i]); Prosedur untuk menampilkan data sebanyak data yang di input adalah writeln;writeln('data yang sudah terurut adalah'); for k := 1 to n do write(l[k],' '); end. Prosedur pengurutan gelembung Prosedur Pengurutan Gelembung for i := 1 to n-1 do for k :=n downto i+1 do if l[k] < l[k-1] then {pertukaran l[k] dengan l[k-1]} temp := l[k]; l[k] := l[k-1]; l[k-1] := temp; Pengurutan Maksimum dan minimum (Maksimum sort / Minimum Sort) Metode pengurutan ini berdasarkan pada pemilihan nilai maksimum atau minimum didalam larik. Gagasannya adalah memilih elemen maksimum atau minimum yang di pertukarkan pada elemen ujung larik. Kemudian elemen ujung tersebut di isolasi untuk tidak disertakan lagi pada proses selanjutnya. Proses yang sama diulang untuk elemen larik yang tersisa sampai data telah terurut maksimum/minimum dan tidak dapat ditukar lagi. Metode pengurutan maksimum atau minimum disebut juga sebagai pegurutan berdasarkan pemilihan/seleksi (selection Sort) 9

10 Algoritma Pengurutan Maksimum Secara ringkas, algoritma pengurutan maksimum dinyatakan dalam urutan langkah sebagai berikut : Langkah 1 Tentukan harga maksimum didalalam L[1..k] Pertukarkan harga maksimum dengan elemen L[k] Langkah 2 Tentukan harga maksimum didalalam L[1..k-1] Pertukarkan harga maksimum dengan elemen L[k-1] Langkah 3 Tentukan harga maksimum didalalam L[1..k-2] Pertukarkan harga maksimum dengan elemen L[k-2] Langkah N - 1 Tentukan harga maksimum didalalam L[1.. K-2] Pertukarkan harga maksimum dengan elemen L[N-2] Elemen yang tersisa adalah L[1], tidak perlu diurut lagi karena karna sudah terurut. Contoh : tinjau larik dengan k = 6 buah elemen dibawah ini yang belum terurut. Larik ini akan diurut menaik 10

11 Akhir dari langkah 5 menghasilkan deretan data didalam larik L yang sudah terurut menaik. Prosedur Pengurutan Maksimum Menaik u := n; for i := 1 to n-1 do maks := l[1]; imaks := 1; for j := 2 to u do if l[j] > maks then maks := l[j]; imaks := j; {pertukaran maks dengan l[u]} temp := l[u]; l[u] := l[imaks]; l[imaks] := temp; {larik l[u..n] terurut, larik l[1..u-1] belum terurut} u := u-1; Untuk prosedur minimum, silakan anda lakukan sendiri sebagai latihan Pengurutan Sisip ( Insertion Sort ) Pengurutan sisip (Insertion sort) adalah metode pengurutan dengan cara menyisipkan elemen larik pada posisi yang tepat. Pencarian posisi yang tepat dapat dilakukan dengan cara melakukan pencarian pencarian beruntun didalam larik. Selama pencarian posisi yang tepat dilakukan pergeseran elemen larik. Algoritma pengurutan sisip menaik Andaikan : Misalkan L[1] dianggap sudah pada tempatnya Langkah 2 L[2] harus dicari tempatnya yang tepat pada L[1..2] dengan cara menggeser elemen L[1..1] kekanan, bila L[1..1] > L[2]. Misalkan posisi yang tepat adalah K, sisipkan L[2] pada L[K] Langkah 3 L[3] harus dicari tempatnya yang tepat pada L[1..3] dengan cara menggeser elemen L[1..2] kekanan, bila L[1..2] > L[3]. Misalkan posisi yang tepat adalah K, sisipkan L[3] pada L[K] Langkah N L[N] harus dicari tempatnya yang tepat pada L[1..N], dengan cara menggeserkan 11

12 elemen L[1 N-1] kekanan, bila L[1..N-1] > L[N]. Misalkan posisi yang tepat adalah K, sisipkan L[N] pada L[K] Contoh : tinjau larik dengan N = 6 buah elemen dibawah ini yang belum terurut. Larik ini akan diurut menaik Akhir dari langkah 5 menghasilkan deretan data didalam larik L yang sudah terurut menaik. Prosedur Pengurutan Sisip Menaik for k := 1 to n do temp := l[k]; j := k-1; while (temp <= l[j])and (j>1) do l[j+1] := l[j];j := j-1; if temp >= l[j] then l[j+1] := temp else l[j+1] := l[j]; l[j] := temp; 12

13 QUIZ Lakukanlah pengurutan pada data dibawah ini : Dengna metode : (pilih 2 metode pengurutan saja) 1. Bubble Sort (menaik dan menurun ) 2. Max Sort (menaik dan menurun ) 3. Min Sort (menaik dan menurun ) 4. Insertion Sort (menaik dan menurun ) Kerjakan perkelompok : maksimal 4 orang 13

14 III.1. Defenisi Linked List BAB IV SENARAI BERANTAI (LINKED LIST) Adalah struktur berupa rangkaian elemen saling berkait dimana tiap elemen dihubungkan dengan elemen lain dengan menggunakan Pointer. Penggunaan pointer untuk mengacu elemen, mengakibatkan elemen bersebelahan secara logik namun tidak secara fisik dimemori. Senarai Berantai sering disebut juga dengan Linked List. Perhatikan gambar linked list dibawah ini - Terdapat dua simpul yaitu: 1. Start : merupakan variabel penuding list 2. Data/ info : berisikan informasi dari suatu simpul 3. Nextpointer/link/penuding : berisikan alamat untuk menuju ke simpul berikutnya. - Bagian pointer yang berisikan nilai nil, maka simpul tidak menuding kemanapun. III.2 Penyajian Linked Llist secara logic didalam memori Contoh 1 : Data Larik Info(K) adalah sebuah karakter tunggal. Kita ingin membentuk Linked list yang elemennya membentuk sebuah string atau untai. String yang dimaksud adalah NO EXIT Contoh 2: Pada sebuah bangsal Rumah Sakit terdapat 12 tempat tidur. 9 diantaranya telah ditempati pasien. Kita ingin membuat List nama pasien secara alpabetik. Untuk itu kita buat sebuah linked List dengan Penuding Next. Varaibel Start kita gunakan untuk menyatakan Lokasi Pasien petama dalam List 14

15 Contoh 3 : Diperlukan dua buah Linked List ALGO dan GEOM yang berturut-turut berisi nilai testing mahasiswa Agoritma dan Geometri. Tersimpan dalam larik TEST dan link yang sama. Perhatikan nama dari List sekaligus digunakan sebagai variabel penuding. Disini penuding ALGO berisi nilai 11, yakni lokasi simpul pertama list ALGO, sedangkan penuding GEOM berisi bernilai 5, yakni lokasi simpul pertama dari list GEOM. Mengikuti penuding tersebut dapat dilihat bahwa List ALGO dan GEOM berisi nilainilai 15

16 III.3. Operasi dasar pada linked list III.3.1. Penciptaan dan penghancuran simpul Untuk menjelaskan operasi tersebut, kita gunakan deklarasi pointer berikut ini : type simpul = ^ data Data = record Info : char; Berikut : simpul; Var elemen : chart; awal,akhir,baru : simpul; Perintah penciptaan simpul adalah New(nama_simpul), Perintah penghancuran simpul adalah dispose(nama_simpul) III.3.2. Penyisipan simpul ke linked list Dalam Penyisipan simpul pada saat simpul awal belum menunjuk ke simpul manapun (linklist belum ada) maka untuk penyisipan simpul di awal, akhir dan tengah diperlakukan sama. 1) Pernyataan New (Baru) adalah pernyataan untuk membuat simpul baru. 2) Pada kondisi tersebut maka simpu baru merupakan simpul awal dan akhir a) Penyisipan sebagai simpul pertama ( Insert_First) 1) Pointer awal adalah pointer yang menunjuk ke simpul pertama. Pointer akhir adalah pointer yang menunjuk ke simpul terakhir dan simpul yang ditunjuk oleh simpul baru adalah simpul yang akan ditambahkan ke gambar (a). 2) Berikut dari simpul baru dibuat menunjuk ke simpul awal. 3) Pointer awal dibuat sama menunjuk ke simpul baru. Dengan cara ini simpul baru selalu diperlakukan sebagai simpul awal. 16

17 Prosedur insert first Procedure insert_first; Var baru : simpul; New(baru); Baru^.info := elemen; If awal = nil then Akhir := baru; Awal := baru; Akhir^.berikut = nil; Else baru^.berikut := awal; Awal := baru; 2. Penyisipan setelah simpul tertentu (insert after linked list) a) Untuk menambah simpul ditengah senarai kita perlu bantuan sebuah pointer lain, misalnya pointer bantu. Dalam hal ini simpul baru akan diletakkan setelah simpul yang ditunjuk oleh pointer bantu. b) Secara garis besar operasi penambahan simpul tertentu dapat dijelaskan sebagai berikut : c) Pertama tentukan dimana simpul baru akan ditambahkan, lalu letakkan pointer bantu sebelum simpul baru. d) Berikut pada simpul baru dibuat sama menunjuk pada berikut simpul bantu. Berikut pada simpul bantu dibuat menunjuk ke simpul baru Procedure insert_after (var awal,akhir : simpul; elemen : char) Var baru,bantu: simpul; new(baru); baru^.info := elemen; If awal = nil then akhir := baru; awal := baru; akhir^.berikut = nil; Else Begin {*mencari lokasi yang sesuai*} Bantu := awal; While elemen >= bantu.^info do Bantu := bantu^.berikut; 17

18 {*menyisipkan elemen baru *} baru^.berikut := bantu^.berikut; bantu^.berikut := baru; 3. Penyisipan pada simpul terakhir ( insert last) a) Dalam hal ini simpul baru akan ditambahkan menjadi simpul terakhir; b) Berikut pada simpul akhir menunjuk ke simpul baru. c) Pointer akhir dibuat sama menunjuk ke simpul baru. Procedure insert_last; var baru : simpul; New(baru); Baru^.info := elemen; If awal = nil then akhir := baru; awal := baru; akhir^.berikut= nil; end else akhir^.berikut:=baru; akhir := baru; akhir^.berikut:=nil; 18

19 III Penghapusan simpul suatu linked list Dalam penghapusan simpul ada hal yang perlu diperhatikan yaitu simpul yang bisa dihapus adalah simpul yang berada sesudah simpul yang ditunjuk oleh suatu pointer. 1. Penghapusan simpul pertama (delete first) Penghapusan di awal dapat dijelaskan sebagai berikut a) Pointer Hapus kita buat sama dengan pointer Awal. b) Pointer Awal menunjuk ke simpul setelah Hapus. c) Dispose (hapus) simpul hapus. 2. Penghapusan simpul Akhir (delete Last Linked List ) Penghapusan di Akhir dapat dijelaskan sebagai berikut a) Kita letakkan pointer bantu sebelum simpul akhir. b) Kemudian Pointer Hapus buat sama dengan Pointer Akhir. c) Pointer Akhir menunjuk ke simpul Bantu d) Dispose (hapus) simpul hapus. 3. Penghapusan simpul Tengah (delete after linked list ) Penghapusan di Tengan atau dikhir dapat dijelaskan sebagai berikut a) Kita letakkan pointer bantu menunjuk ke simpul sebelum simpul yang akan dihapus. Simpul yang akan dihapus kita tunjuk dengn Pointe Hapus. 19

20 b) Kemudian Simpul Bantu menunjuk ke simpul setelah simpul Hapus (yang ditunjuk simpul hapus). c) Dispose (hapus) simpul hapus. Prosedur untuk menghapus simpel didepan atau diakhir linked list (Delete After and Last LinkedList ) Silakan anda coba sebagai latihan. III.3.4. Pembacaan Isi Linked List Dapat dilakukan dengan 2 cara 1. Membaca Maju Membaca Linked List dari simpul awal sampai simpul akhir Dapat diselesaikan sebagai berikut : a) Pointer Bantu menunjuk ke simpul Awal b) Lakukan Kunjungan di setiap simpul sambil membaca isi simpul. c) Pada saat Pointer Bantu telah membaca isi simpul Akhir, maka proses berhenti. 20

21 Procedure baca_maju(awal,akhir, simpu); Var bantu : simpul; Bantu= := awal; repeat write (bantu^.info:2); Bantu := bantu^.berikut; Until bantu^.berikut = nil; Writeln; End; 2. Membaca Mundur Membaca Mundur Linked List dilakukan dengan cara merubah arah Pointer, dimana simpul akhir nantinya menjadi simpul Awal dan simpul Awal menjadi Simpul Akhir. Prosedurnya adalah sebagai berikut a) Pointer Bantu menunjuk ke simpul Awal b) Pointer Awal menunjuk ke simpul Akhir. c) Proses ini adalah proses merubah arah pointer. Dengan cara : Pakai Pointer Bantu1 yang juga menunjuk ke Pointer Bantu. d) Lakukan kunjungan ke simpul-simpul menuju simpul sebelum simpul akhir. e) Lakukan perubah arah pointer, dengan cara simpul Akhir menunjuk ke simpul bantu1. f) Rubah pointer Akhir menunjuk ke simpul bantu1 g) Ulangi langkah c sampai simpul Akhir = simpul Bantu. h) Lakukan Pembacaan dari Simpul Awal sampai simpul Akhir dengan cara pembacaan maju 21

22 Procedure baca_mundur(var awal,akhir : bantu); Var bantu : simpul; Bantu= := awal; Awal := akhir; repeat {*Proses membalik Pointer*} Bantu1 := bantu; {*Mencari letak simpul bantu1*} While bantu1^.berikut <> akhir do Bantu1 := bantu1^.berikut; Akhir^.berikut := bantu1; Akhir := bantu1; Until akhir = bantu; Akhir^.berikut := nil; End; III.3.5. Senarai Berantai Berkepala (Header Linked List ) Adalah senarai yang memiliki simpul kepala, dimana simpul kepala tersebut bertipe data sama dengan simpul yang lain, tetapi tidak memiliki info didalamnya. 22

23 Procedure initial_header(var kepala,ekor: simpul); Begin new(kepala); ekor := kepala; kepala^.berikut := nil; End; Dengan adannya simpul header maka prosedur dan fungsi yang telah dijelaskan diatas perlu dimodifikasi. Untuk memodifikasi diserahkan kepada anda untuk membuatnya sekaligus sebagai latihan. Tugas 1. Buatlah program Header Linked List untuk operasi penambahan dan penghapusan simpul dan pembacaan simpul. 2. Buatlah program Circular linked List untuk operasi penambahan dan penghapusan dan pembacaan simpul. 23

24 BAB V TUMPUKAN (STACK) V.1. Pengertian Tumpukan(Stack) adalah bentuk khusus dari list linier, penghapusan dan pemasukan elemen hanya dapat dilakukan pada satu posisi yaitu akhir list. Posisi ini disebut posisi puncak (Top) Jelas maka bila stack S = [S1, S2, St] maka Top (S) = t V.2 Operasi pada Tumpukan (Stack) Ada 2 operasi dasar yang bisa dilakukan pada tumpukan yaitu menyisipkan data (Push) dan mengeluarkan data (Pop) Ilustrasi dibawah ini mengambarkan kerja kedua operator tersebut Push (A,B) B 1 A Larik A Push (C,D) A Larik A Pop 1 data 4 D 3 C 2 B 1 Larik A Pop 2 data 4 D Larik A V.3. Penyajian Tumpukan Ada 2 cara dalam menyajikan tumpukan ke dalam bahasa pemrograman yaitu 1. Penyajian Tumpukan dengan menggunakan Larik (array) Pemakaian larik dalam menyajikan tumpukan memiliki kekurangan yaitu banyaknya elemen larik terbatas. Pada suatu saat ukuran tumpukan akan sama dengan ukuran larik. Bila terus ditambahkan akan menyebabkan overflow. Dalam penyajian Tumpukan yang menggunakan tipe data larik dapat digabungkan dengan tipe data terstruktur (record) sehingga larik dapat terdiri dari beberapa field. Deklarasi array-record Dengan deklarasi diatas elemen tumpukan disimpan dalam dua field, filed pertama untuk menyimpan elemen tumpukan, field yang kedua untuk mencatat posisi ujung tumpukan Implementasi Operasi Push, Implementasi Procedure Push adalah 24

25 Dengan ditambahnya testing prosedur diatas lebih sempurna untuk mencegah terjadinya overflow Operasi Pop, implementasi prosedur Pop adalah Operasi Pop ditambahkan kondisi agar prosedur tidak melakukan pengurangan T.atas terus menerus saat data pada tumpukan sudah kosong 2. Penyajian Tumpukan dengan menggunakan Pointer. Kita dapat Menyajikan tumpukan dengan senarai berantai Linier (Linked List). Elemen pertama dalam senarai berantai diperlakukan sebagai elemen teratas dari tumpukan dengan mengacu pada prosedur Push dan Pop Untuk menjelaskan kedua operasi ini, maka terlebih dahulu dideklarasikan tipe data yang diperlukan Karna senarai berantai kita tentukan sebagai senarai berantai berkepala, maka terlebih dahulu kita mulai dengan initialisasi tumpukan untuk simpul kepala. Bila senarai berantai hanya berisi simpul kepala berarti tumpukan masih kosong Implementasi Operasi Push 25

26 Implementasi Prosedur Pop V.4 Aplikasi pada tumpukan Salah satu aplikasi yang menggunakan konsep tumpukan adalah perjodohan tanda kurung (Matching parantheses). Aplikasi ini digunakan untuk merubah notasi Infix menjadi notasi Posfix Algoritma untuk merubah notasi Infix menjadi notasi Posfix 26

27 Contoh : Notasi Infix : ( ( A + B ) * C / D + E ^ F ) / G, rubahlah menjadi notasi Posfix. Menghasilkan notasi Posfix : AB+C*D/EF^+G/ Tugas : 1. Buatlah program tumpukan dengan tipe data array 2. Buatlah program tumpukan dengan tipe data pointer 3. Buatlah program pembalikan kalimat 4. Buatlah program untuk deret Polindrom 5. Buatlah program konversi basis 10 ke basis 2 27

28 BAB VI ANTRIAN (QUEUE) V.1. Pengertian antrian Queue / Antrian adalah suatu kumpulan data yang mana penambahan elemen hanya bisa dilakukan pada satu ujung (disebut dengan sisi belakang atau rear) dan penghapusan atau pengambilan elemen dilakukan lewat ujung lain (disebut dengan sisi depan atau front). Antrian menggunakan prinsip Pertama Masuk Pertama Keluar, First In First Out (FIFO). Antrian banyak dijumpai dalam kehidupan sehari-hari, seprti Mobil-mobil yang mengantri digerbang tol untuk membeli karcis tol; orang-orang yang mengantri di loket untuk membeli karcis film juga membentuk antrian Pada antrian kita tidak menentukan batasan seberapa banyak antrian itu akan berakhir tapi jika kita menggunakan array untuk mengimplementasikan queue/tumpukan kita harus membatasi jumlah antrian yang dapat masuk. Ini dikarenakan array memiliki batasan (upperbound) yang menjadi penghambat jika kita menggunakan antrian. Oleh sebab itu kita dapat mengimplementasikan antrian ini dengan menggunakan link list. Dengan menggunakan link list tepatnya Single Link List maka elemen dapat dimasukkan secara tidak terbatas. Implementasi Link list menngunakan Header Single Link List 6.2. Notasi Pada Queue Notasi yang dapat digunakan didalam Queue Q adalah : 1. FRONT(Q) menunjukkan posisi terdepan dari suatu antrian. Contoh jika kita mempunyai antrian Q = [A,B,C,D,E] maka FRONT(Q) = A. 2. REAR(Q) menunjukkan posisi terakhir dari suatu antrian. Contoh jika kita mempunyai antrian Q = [A,B,C,D,E] maka REAR(Q) = E. 3. NOEL(Q) menunjukkan jumlah elemen di dalam Antrean Q. Contoh jika kita mempunyai antrian Q = [A,B,C,D,E] maka NOEL(Q) = Deklarasi Queue Dalam Link List Pendeklarasian Queue di dalam link list sama seperti kita mendeklarasikan link list. Deklarasi Queue menggunakanheader Linked List Type Queue = ^Simpul Simpul = Record Info : Char; Next : Queue; End; Var Head, Tail : Queue; Max : Byte; 6.4. Operasi Dasar Pada Queue Ada 4 operasi dasar yang dapat dilakukan pada struktur data antrian, yaitu: 1. CREATE(Q) : CREATE(Q) adalah suatu operator yang digunakan untuk membentuk dan menunjukkan suatu antrian hampa. Contoh : NOEL(CREATE(Q)) = 0, FRONT(CREATE(Q)) = Tidak Terdefinisi REAR(CREATE(Q)) = Tidak Terdefinisi Berikut ini merupakan procedure CREATE simpul pada Pascal : Procedure CREATE(Var Head, Tail : Queue); Begin New(Head); 28

29 Head^.Info := 0; Head^.Next := Head; Tail := Head; End; 2. ISEMPTY(Q) : ISEMPTY(Q) adalah operator yang menentukan apakah antrian Q hampa atau tidak. ISEMPTY(Q) di terapkan di dalam pascal menjadi sebuah function yang bertipe boolean sehingga hasil dari function ini akan bernilai True jika antrian dalam keadaan kosong / hampa (NOEL(Q) = 0) dan akan bernilai False jika antrian dalam keadaan terisi / tidak kosong (NOEL(Q) > 0). Contoh : ISEMPTY(CREATE(Q)) = True Berikut ini merupakan procedure ISEMPTY simpul pada Pascal : Function ISEMPTY(Head : Queue); Begin ISEMPTY := (Head^.Next = Head); End; 3. INSERT(E,Q) : INSERT(E,Q) adalah operator yang digunakan untuk memasukkan elemen E pada antrian Q di posisi depan dari antrian. Hasil dari operator ini adalah antrian yang lebih panjang. Berikut ini merupakan procedure INSERT : Procedure INSERT(Elemen : Byte; Var Head, Tail : Queue); Var Temp : Queue; Begin New(Temp); Temp^.Info := Elemen; Temp^.Next := Head; Tail := Temp; Inc(Head^.Info); End 4. REMOVE(Q) : REMOVE(Q) adalah operator yang menghapus elemen bagian depan dari antrian Q. Hasilnya merupakan antrian yang lebih pendek. Pada setiap operasi ini, harga dari NOEL(Q) berkurang satu, dan elemen kedua dari Q menjadi elemen terdepan. Jika NOEL(Q) = 0, maka REMOVE(Q) memberikan suatu kondisi error, yakni suatau UNDERFLOW. Contoh : REMOVE(CREATE(Q)) = UNDERFLOW. Berikut ini merupakan procedure REMOVE : Procedure REMOVE(Var Head : Queue); Var Temp : Queue; Begin If Not (ISEMPTY(Head)) Then Begin Temp := Head^.Next; Head^.Next := Temp^.Next; Dispose(Temp); Dec(Head^.Info); End; End; 29

30 Untuk memahami pengertian antrian sekaligus penerapan operator-operator queue dan notasi-notasinya perhatikan ilustrasi berikut : 6.5. Jenis-jenis Antrian Queue memiliki dua variasi yang penggunaannya juga banyak di dalam kehidupan sehari hari atau dalam dunia komputer itu sendiri, diantaranya adalah : 1. DEQUE : DEQUE adalah antrian dimana elemennya bisa masuk dan keluar lewat kedua ujungnya (berbeda dengan queue yang hany bisa masuk lewat ujung belakang dan keluar lewat ujung depan). Biasanya DEQUE disajikan dengan menggunakan Double link list yang memiliki dua buah pointer yang menunjuk ke posisi sebelumnya dan sesudahnya. Gambar dibawah ini menunjukkan struktur umum dari sebuah DEQUE. 30

31 DEQUE juga mempunyai dua jenis variasi yaitu : a. Deque input terbatas : suatu deque yang membatasi pemasukkan elemen hanya pada satu ujung dari list, sementara penghapusan elemen boleh dilakukan pada kedua ujung list. b. Deque output terbatas : merupakan kebalikan dari deque input terbatas yaitu suatu deque yang membatasi penghapusan elemen hanya pada satu ujung dari list, sementara pemasukkan elemen boleh dilakukan pada kedua ujung list. 2. ANTRIAN BERPRIORITAS : Antrian berprioritas adalah suatu queue yang setiap elemennya telah diberikan sebuah prioritas, dan urutan proses penghapusan elemen adalah berdasarkan aturan berikut : a. Elemen yang prioritasnya lebih tinggi, diproses lebih dahulu dibandingkan dengan elemen yang prioritas lebih rendah. b. Dua elemen dengan prioritas yang sama, diproses sesuai dengan urutan mereka sewaktu dimasukkan ke dalam priority queue. Salah satu contoh antrian berprioritas ini adalah sistem berbagi waktu (time sharing system), dimana program yang mempunyai prioritas tinggi akan dikerjakan lebih dahulu dan program-program yang berprioritas sama akan membentuk antrian yang biasa. Anda bisa mencoba prosedur antrian beprioritas sebagai latihan. 31

5. QUEUE (ANTRIAN) TUJUAN PRAKTIKUM

5. QUEUE (ANTRIAN) TUJUAN PRAKTIKUM 5. QUEUE (ANTRIAN) TUJUAN PRAKTIKUM 1. Praktikan mengenal salah satu lagi tipe khusus dari link list yaitu queue/ antrian beserta seluruh operasi yang ada padanya. 2. Praktikan diharapkan dapat menerapkan

Lebih terperinci

Univ. Indo Global Mandiri STRUKTUR DATA

Univ. Indo Global Mandiri STRUKTUR DATA STRUKTUR DATA FAKULTAS ILMU KOMPUTER 2013 1 DAFTAR ISI HALAMAN DEPAN... i PRAKARTA...... ii DAFTAR ISI..... iii BAB I PENDAHULUAN I.1. Dasar Pengetahuan Strukur Data... 1 BAB JENIS STRUKTUR DATA II.1 Jenis......

Lebih terperinci

Lab. Teknik Informatika Struktur Data 1

Lab. Teknik Informatika Struktur Data 1 2. POINTER dan SINGLE LINK LIST TUJUAN PRAKTIKUM 1. Praktikan mengetahui tipe struktur data baru yaitu tipe data Pointer. 2. Praktikan menggunakan pointer didalam pembuatan program dan dapat menerapkannya

Lebih terperinci

VARIABEL, TIPE DATA, KONSTANTA, OPERATOR DAN EKSPRESI. Pemrograman Dasar Kelas X Semester 2

VARIABEL, TIPE DATA, KONSTANTA, OPERATOR DAN EKSPRESI. Pemrograman Dasar Kelas X Semester 2 VARIABEL, TIPE DATA, KONSTANTA, OPERATOR DAN EKSPRESI Tujuan Pembelajaran 1. Siswa mampu memahami penulisan Tipe data, variabel dan konstanta dalam pascal 2. Siswa mampu menerapkan penggunaan Tipe data,

Lebih terperinci

Teori Algoritma TIPE DATA

Teori Algoritma TIPE DATA Alam Santosa Teori Algoritma Dasar Algoritma TIPE DATA Program komputer adalah deretan perintah untuk memanipulasi data input menjadi informasi yang bermanfaat bagi pengguna (user). Data yang diinput dapat

Lebih terperinci

4. STACK / TUMPUKAN TEORI PENUNJANG

4. STACK / TUMPUKAN TEORI PENUNJANG 4. TCK / TUMPUKN TUJUN PRKTIKUM 1. Praktikan mengenal tipe khusus dari link list yaitu stack/tumpukan beserta seluruh operasi yang ada padanya. 2. Praktikan diharapkan dapat menerapkan teori mengenai single

Lebih terperinci

QUEUE ( ANTREAN ) 4.1. PENGERTIAN QUEUE (ANTREAN)

QUEUE ( ANTREAN ) 4.1. PENGERTIAN QUEUE (ANTREAN) QUEUE ( ANTREAN ) 4.1. PENGERTIAN QUEUE (ANTREAN) Setelah pada Bab 3 yang lalu kita bahas tentang salah satu jenis daftar (list) linear, yakni stack, kali ini kita bahas jenis lain dari daftar linear,

Lebih terperinci

STACK (TUMPUKAN) Secara sederhana, sebuah tumpukan bisa kita ilustrasikan seperti gambar berikut.

STACK (TUMPUKAN) Secara sederhana, sebuah tumpukan bisa kita ilustrasikan seperti gambar berikut. STACK (TUMPUKAN) Salah satu konsep yang sangat berguna di dalam Ilmu Komputer adalah satu bentuk struktur data yang disebut tumpukan (stack). Dalam bab ini kita akan mencoba menggali mengapa tumpukan sangat

Lebih terperinci

Pengurutan (Sorting) Keuntungan Data Terurut. Pengurutan Terbagi Dua Kelompok:

Pengurutan (Sorting) Keuntungan Data Terurut. Pengurutan Terbagi Dua Kelompok: Pengurutan (Sorting) Pengurutan adalah proses mengatur sekumpulan obyek menurut urutan atau susunan tertentu. Urutan obyek tersebut dapat menaik atau menurun. Bila N obyek disimpan dalam larik L, maka

Lebih terperinci

Struktur Data. Pertemuan 2

Struktur Data. Pertemuan 2 Pertemuan 2 Tujuan Pembelajaran Mahasiswa mampu menjelaskan konsep struktur data (Pengertian Struktur data, Konsep struktur data, Tipe data sederhana, Deklarasi data dalam bahasa pemrograman. 1. Pengertian

Lebih terperinci

Kuliah ke : 4 Algoritma & Stuktur Data. Pengurutan (Sorting)

Kuliah ke : 4 Algoritma & Stuktur Data. Pengurutan (Sorting) Kuliah ke : 4 Algoritma & Stuktur Data Pengurutan (Sorting) Pengurutan adalah proses mengatur sekumpulan obyek menurut urutan atau susunan tertentu. Urutan obyek tersebut dapat menaik atau menurun. Bila

Lebih terperinci

.::BAB II.::MENGENAL PASCAL

.::BAB II.::MENGENAL PASCAL .::BAB II.::MENGENAL PASCAL Pascal adalah bahasa pemrograman terstruktur yang membedakan blok-blok pendeklarasian tipe, variable dan penulisan kode program. Pascal memiliki keunggulan untuk dipelajari

Lebih terperinci

QUEUE (ANTREAN) Operasi Antrean : FIFO (First In First Out) Elemen yang pertama masuk merupakan elemen yang pertama keluar.

QUEUE (ANTREAN) Operasi Antrean : FIFO (First In First Out) Elemen yang pertama masuk merupakan elemen yang pertama keluar. QUEUE (ANTREAN) ANTREAN (Queue) Suatu bentuk khusus dari linear list, dengan operasi penyisipan (insertion) hanya diperbolehkan pada salah satu sisi, yang disebut REAR, dan operasi penghapusan (deletion)

Lebih terperinci

Struktur Data. Belajar Struktur Data Menggunakan Pascal Pertemuan-1

Struktur Data. Belajar Struktur Data Menggunakan Pascal Pertemuan-1 Struktur Data Belajar Struktur Data Menggunakan Pascal Pertemuan-1 I n W a h y u W i d o d o e m a i l @ r i n g k e s. c o m Identifier, Konstanta dan Variabel Identifier (sebutan / pengenal) Identifier

Lebih terperinci

MODUL 1. Struktur Bahasa PASCAL secara umum

MODUL 1. Struktur Bahasa PASCAL secara umum MODUL 1 Struktur Bahasa PASCAL secara umum Pascal mempunyai struktur sebagai berikut: 1. Bagian Judul Program 2. Bagian Deklarasi e a. Deklarasi tipe data (TYPE) b. Deklarasi variabel (VAR) c. Deklarasi

Lebih terperinci

QUEUE. Queue adalah suatu linear list di mana operasi DELETE terjadi pada sisi depan (FRONT) dan operasi INSERT terjadi pada sisi belakang (REAR).

QUEUE. Queue adalah suatu linear list di mana operasi DELETE terjadi pada sisi depan (FRONT) dan operasi INSERT terjadi pada sisi belakang (REAR). QUEUE n DEFINISI Queue adalah suatu linear list di mana operasi DELETE terjadi pada sisi depan (FRONT) dan operasi INSERT terjadi pada sisi belakang (REAR). Jika diberikan suatu Queue Q dengan elemen-elemenn

Lebih terperinci

TIPE DATA, VARIABLE, dan OPERATOR DELPHI

TIPE DATA, VARIABLE, dan OPERATOR DELPHI TIPE DATA, VARIABLE, dan OPERATOR DELPHI A. TIPE DATA Delphi merupakan bahasa pemrograman tingkat tinggi yang mendukung perancangan terstruktur dan berorientasi Object. Bahasa pemrograman ini berdasarkan

Lebih terperinci

Algortima. Teguh Cahyono, ST.M.Kom

Algortima. Teguh Cahyono, ST.M.Kom Algortima Teguh Cahyono, ST.M.Kom Tipe Data & Macam Operator Macam Macam Type Data Ada enam kelompok type data pada turbo pascal yaitu : 1) Tipe data sederhana, type data sederhana dibagi menjadi dua type

Lebih terperinci

BAB IV QUEUE ATAU ANTREAN

BAB IV QUEUE ATAU ANTREAN BAB IV QUEUE ATAU ANTREAN Queue atau antrean adalah suatu bentuk khusus dari list linier, dengan operasi penyisipan (insertion) hanya diperbolehkan pada salah satu sisi, yang disebut sisi belakang (REAR)

Lebih terperinci

MAKALAH STRUKTUR DATA. DOSEN PEMBIMBING Nisa miftachurohmah, S.kom., M.Si PENYUSUN SITI JAMILATUL MU ADDIBAH ( )

MAKALAH STRUKTUR DATA. DOSEN PEMBIMBING Nisa miftachurohmah, S.kom., M.Si PENYUSUN SITI JAMILATUL MU ADDIBAH ( ) MAKALAH STRUKTUR DATA DOSEN PEMBIMBING Nisa miftachurohmah, S.kom., M.Si PENYUSUN SITI JAMILATUL MU ADDIBAH (14.1.03.03.0024) FAKULTAS TEKNIK PROGRAM STUDI SISTEM INFORMASI UNIVERSITAS NUSANTARA PGRI KEDIRI

Lebih terperinci

Masukan Judul... Infotype àsebuah tipe terdefinisi yang menyimpan informasi sebuah elemen list

Masukan Judul... Infotype àsebuah tipe terdefinisi yang menyimpan informasi sebuah elemen list Universitas Muhammadiyah Sukabumi Artikel Struktur Data Oleh : fahmi fauzi Masukan Judul... 1. STACK DAN QUEUE DENGAN LINKED LIST Pengertian Linked list : sekumpulan elemen bertipe sama, yang mempunyai

Lebih terperinci

BAB II STACK Atau TUMPUKAN

BAB II STACK Atau TUMPUKAN BAB II STACK Atau TUMPUKAN List Linear (Daftar Linear). List linier adalah sekumpulan elemen bertipe sama, yang mempunyai keterurutan tertentu, yang setiap elemennya disebut simpul (node). Simpul terdiri

Lebih terperinci

JENIS DATA SEDERHANA & INPUT/OUTPUT DATA

JENIS DATA SEDERHANA & INPUT/OUTPUT DATA JENIS DATA SEDERHANA & INPUT/OUTPUT DATA 1.1 Tipe Data A. Data Tipe Sederhana Dihubungkan dengan sebuah identifier untuk sebuah data. Data tipe ini digolongkan menjadi tipe data standar dan tipe data yang

Lebih terperinci

Algoritma dan Struktur Data

Algoritma dan Struktur Data Algoritma dan Struktur Data Program Program: sederetan perintah-perintah yang harus dikerjakan oleh komputer untuk menyelesaikan masalah. 3 level bahasa pemrograman: 1. Bahasa tingkat rendah 2. Bahasa

Lebih terperinci

Pengurutan (Sorting) Algoritma Pemrograman

Pengurutan (Sorting) Algoritma Pemrograman Pengurutan (Sorting) Algoritma Pemrograman mas.anto72@gmail.com 1 Definisi Sorting /pengurutan proses mengatur sekumpulan obyek menurut urutan atau susunan tertentu. Bentuk susunan/urutan : Ascending menaik/membesar

Lebih terperinci

MATERI 2 JENIS-JENIS DATA SEDERHANA & INPUT/OUTPUT DATA

MATERI 2 JENIS-JENIS DATA SEDERHANA & INPUT/OUTPUT DATA MATERI 2 JENIS-JENIS DATA SEDERHANA & INPUT/OUTPUT DATA Kata-Kata Cadangan Kata-kata cadangan (reserved words) adalah kata-kata yang sudah didefinisikan oleh Pascal yang mempunyai maksud tertentu. Kata-kata

Lebih terperinci

Yaitu proses pengaturan sekumpulan objek menurut urutan atau susunan tertentu Acuan pengurutan dibedakan menjadi :

Yaitu proses pengaturan sekumpulan objek menurut urutan atau susunan tertentu Acuan pengurutan dibedakan menjadi : PENGURUTAN Yaitu proses pengaturan sekumpulan objek menurut urutan atau susunan tertentu Acuan pengurutan dibedakan menjadi : 1. Ascending / menaik Syarat : L[1] L[2] L[3] L[N] 2. Descending / menurun

Lebih terperinci

Menghapus Pointer Statement yang digunakan untuk menghapus pointer adalah Dispose, yang mempunyai bentuk umum : Dispose(peubah) ;

Menghapus Pointer Statement yang digunakan untuk menghapus pointer adalah Dispose, yang mempunyai bentuk umum : Dispose(peubah) ; Maka sekarang kita mempunyai dua buah simpul yang ditunjuk oleh P1 dan P2. Setelah itu kita dapat melakukan pengaksesan data, yaitu dengan menuliskan : P1^.Nama_Peg := Ariswan ; P1^.Alamat := Semarang

Lebih terperinci

DATA SORTING. Altien Jonathan Rindengan, S.Si, M.Kom

DATA SORTING. Altien Jonathan Rindengan, S.Si, M.Kom DATA SORTING Altien Jonathan Rindengan, S.Si, M.Kom Pendahuluan Sorting (pengurutan) : proses mengatur sekumpulan objek menurut urutan atau susunan tertentu Diberikan array L dengan n elemen yg sudah terdefinisi

Lebih terperinci

BAB III QUEUE (ANTRIAN)

BAB III QUEUE (ANTRIAN) BAB III QUEUE (ANTRIAN) 3.1 Pengertian Antrian Antrian (Queue) merupakan kumpulan data yang mana penambahan elemen hanya bias dilakukan pada suatu ujung yaitu rear /tail / belakang, dan pengha[usan dilakukan

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-3 (Tipe Data dan Nama) 1 Sub Pokok Bahasan Pendahuluan Tipe Dasar Tipe Bentukan Nama 2 Pendahuluan Tipe adalah pola representasi data dalam komputer Tipe data dapat dikelompokkan

Lebih terperinci

& PEMROGRAMAN. Alex De Kweldju, S.Kom D3 Teknik Komputer Fakultas Teknik Universitas Negeri Papua

& PEMROGRAMAN. Alex De Kweldju, S.Kom D3 Teknik Komputer Fakultas Teknik Universitas Negeri Papua ALGORITMA & PEMROGRAMAN II Pascal #2 Alex De Kweldju, S.Kom D3 Teknik Komputer Fakultas Teknik Universitas Negeri Papua PASCAL Bahasa Pemrograman Terstruktur Diciptakan Nikalus Wirth Kata PASCAL untukpenghormatan

Lebih terperinci

STACK ATAU TUMPUKAN 3.1 DAFTAR LINEAR

STACK ATAU TUMPUKAN 3.1 DAFTAR LINEAR STACK ATAU TUMPUKAN 3.1 DAFTAR LINEAR Sebuah daftar linear atau linear list, merupakan suatu struktur data umum yang terbentuk dari barisan hingga yang terurut) dari satuan data ataupun dari record. Untuk

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-2 (Teks Algoritma) Noor Ifada noor.ifada@if.trunojoyo.ac.id S1 Teknik Informatika-Unijoyo 1 Sub Pokok Bahasan Pendahuluan Judul Algoritma Deklarasi Deskripsi Translasi

Lebih terperinci

TIPE, NAMA, DAN NILAI

TIPE, NAMA, DAN NILAI TIPE, NAMA, DAN NILAI Dian Palupi Rini, M.Kom Tipe Dasar Bilangan Logika Nama Tipe adalah boolean (diambil dari nama matematikawan Inggris George Boole). Ranah Nilai : true (benar) dan false (salah). Konstanta

Lebih terperinci

Pertemuan 4 KONSEP TIPE DATA

Pertemuan 4 KONSEP TIPE DATA Pertemuan 4 KONSEP TIPE DATA Bahasa Pemrograman PASCAL Pascal, merupakan bahasa pemrograman tingkat tinggi. Pascal dirancang oleh Prof. Niklaus Writh (Technical University di Zurich, Switzerland) pada

Lebih terperinci

MODUL PRAKTIKUM STRUKTUR DATA

MODUL PRAKTIKUM STRUKTUR DATA MODUL PRAKTIKUM STRUKTUR DATA JAKARTA 2018 Page 1 DAFTAR ISI MODUL I TIPE DATA ARRAY 1 MODUL II STACK 4 MODUL III SEARCHING. 10 MODUL IV SORTING.. 13 MODUL V POINTER... 17 MODUL VI LINKED LIST 23 Page

Lebih terperinci

2. Mahasiswa dapat membuat dan menggunakan array dan linked list dalam suatu kasus.

2. Mahasiswa dapat membuat dan menggunakan array dan linked list dalam suatu kasus. 1 ARRAY & LINKED LIST MODUL 1 Standar kompetensi: 1. Mahasiswa mengetahui perbedaan array dan linked list. 2. Mahasiswa dapat membuat dan menggunakan array dan linked list dalam suatu kasus. 3. Mahasiswa

Lebih terperinci

Chapter 3.2 : Tipe, Nama dan Nilai

Chapter 3.2 : Tipe, Nama dan Nilai Mata Kuliah : Logika dan Algoritma / 4 SKS Chapter 3.2 : Tipe, Nama dan Nilai Dosen Pengasuh : Fatoni, M.M.,M.Kom. Mail : fatoni@binadarma.ac.id/toniubd@yahoo.com Materi Yang Dipelajari Tipe Data Dasar

Lebih terperinci

BAB 3 STACK (TUMPUKAN)

BAB 3 STACK (TUMPUKAN) BAB 3 STACK (TUMPUKAN) LINIER LIST Suatu struktur data umum yang berisi suatu kumpulan terurut dari elemen; jumlah elemen di dalam list dapat berubah-ubah. Linier list A yang terdiri dari T elemen pada

Lebih terperinci

Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya.

Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pertemuan 1 STRUKTUR DATA Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian Struktur Data yang

Lebih terperinci

Indentifier, Keywords, Variable, Tipe Data dan Operator. Ramos Somya, S.Kom., M.Cs.

Indentifier, Keywords, Variable, Tipe Data dan Operator. Ramos Somya, S.Kom., M.Cs. Indentifier, Keywords, Variable, Tipe Data dan Operator Ramos Somya, S.Kom., M.Cs. Merupakan nama yang digunakan untuk menamai variabel, konstanta, nama program maupun sub program. Seorang programmer tidak

Lebih terperinci

PSEUDOCODE TIPE DATA, VARIABEL, DAN OPERATOR

PSEUDOCODE TIPE DATA, VARIABEL, DAN OPERATOR 1 PSEUDOCODE TIPE DATA, VARIABEL, DAN OPERATOR Siti Mukaromah, S.Kom TEKNIK PENYAJIAN ALGORITMA Teknik Tulisan Structure English Pseudocode Teknik Gambar Structure Chart HIPO Flowchart 2 PSEUDOCODE Kode

Lebih terperinci

MODUL STRUKTUR DATA. Erna Kumalasari Nurnawati

MODUL STRUKTUR DATA. Erna Kumalasari Nurnawati MODUL STRUKTUR DATA Erna Kumalasari Nurnawati Apa yang dipelajari??? Sorting = mengurutkan sejumlah data berdasar kunci tertentu array,array record Searching (pencarian)->array+record Struktur tumpukan

Lebih terperinci

Pertemuan VI ANTRIAN (Queue)

Pertemuan VI ANTRIAN (Queue) Pertemuan VI ANTRIAN (Queue) STMIK Balikpapan Jurusan Manajemen Informatika Pada pembahasan selanjutnya kita akan mempelajari satu jenis struktur data yang disebut dengan antrian (queue) yang sering digunakan

Lebih terperinci

S T A C K ( T U M P U K A N )

S T A C K ( T U M P U K A N ) S T A C K T U M P U K A N ) LINIER LIST Suatu struktur data umum yang berisi suatu kumpulan terurut dari elemen; jumlah elemen di dalam list dapat berubah-ubah. Linier list A yang terdiri dari T elemen

Lebih terperinci

Pertemuan 4 ELEMEN-ELEMEN BAHASA PEMROGRAMAN

Pertemuan 4 ELEMEN-ELEMEN BAHASA PEMROGRAMAN Pertemuan 4 ELEMEN-ELEMEN BAHASA PEMROGRAMAN I. Elemen-Elemen Dalam Bahasa Pemrograman Berikut adalah elemen-elemen pada bahasa pemrograman: Berikut adalah element-element pada bahasa pemrograman: 1. Aturan

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-3 (Tipe Data dan Nama) Noor Ifada noor.ifada@if.trunojoyo.ac.id S1 Teknik Informatika-Unijoyo 1 Sub Pokok Bahasan Pendahuluan Tipe Dasar Tipe Bentukan Nama S1 Teknik

Lebih terperinci

Pengantar dalam Bahasa Pemrograman Turbo Pascal Tonny Hidayat, S.Kom

Pengantar dalam Bahasa Pemrograman Turbo Pascal Tonny Hidayat, S.Kom Pengantar dalam Bahasa Pemrograman Turbo Pascal Tonny Hidayat, S.Kom Pengantar Bahasa Pemrograman Pascal Page 1 / 11 Pengenalan Pascal Pascal merupakan salah satu bahasa pemrograman tingkat tinggi. Pemrograman

Lebih terperinci

Array. Array mempunyai dimensi : 1. Array Dimensi Satu (Vektor) 2. Array Dimensi Banyak. - Dimensi Dua (Matriks/Tabel) - Dimensi Tiga (Kubik).

Array. Array mempunyai dimensi : 1. Array Dimensi Satu (Vektor) 2. Array Dimensi Banyak. - Dimensi Dua (Matriks/Tabel) - Dimensi Tiga (Kubik). Array Array merupakan bagian dasar pembentukan suatu struktur data yang lebih kompleks. Hampir setiap jenis struktur data kompleks dapat disajikan secara logik oleh array. Array : Suatu himpunan hingga

Lebih terperinci

KERUGIAN DAN KEUNTUNGAN LINKED LIST

KERUGIAN DAN KEUNTUNGAN LINKED LIST KERUGIAN AN KEUNTUNGAN LINKE LIST KERUGIANNYA AALAH : 1. iperlukan ruang tambahan untuk menyatakan/tempat field pointer. 2. iperlukan waktu yang lebih banyak untuk mencari suatu node dalam linked list.

Lebih terperinci

Type Data terdiri dari : - Data Tunggal : Integer, Real, Boolean dan Karakter. - Data Majemuk : String

Type Data terdiri dari : - Data Tunggal : Integer, Real, Boolean dan Karakter. - Data Majemuk : String Struktur dapat diartikan sebagai suatu susunan, bentuk, pola atau bangunan. Data dapat diartikan sebagai suatu fakta, segala sesuatu yang dapat dikodekan atau disimbolkan dengan kode-kode atau lambang-lambang

Lebih terperinci

MODUL PRAKTIKUM PERCABANGAN DAN PENGULANGAN

MODUL PRAKTIKUM PERCABANGAN DAN PENGULANGAN PERCABANGAN DAN PENGULANGAN Pada BAB ini akan membahas tentang PERCABANGAN dan PERULANGAN. PERCABANGAN : a) IF THEN b) CASE OF PENGULANGAN: a) REPEAT N TIMES b) REPEAT UNTIL c) WHILE DO d) ITERATE STOP

Lebih terperinci

Struktur dan Organisasi Data 2 STRUKTUR DATA

Struktur dan Organisasi Data 2 STRUKTUR DATA STRUKTUR DATA PENDAHULUAN Struktur data adalah suatu koleksi atau kelompok data yang dapat dikarakterisasikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Algorithma : barisan langkah-langkah

Lebih terperinci

MODUL IV PENCARIAN DAN PENGURUTAN

MODUL IV PENCARIAN DAN PENGURUTAN MODUL IV PENCARIAN DAN PENGURUTAN 4.1 Tujuan Tujuan modul IV ini, adalah: Praktikan bisa membuat beberapa program pencarian berdasarkan metode algoritma pencarian Praktikan bisa membuat beberapa program

Lebih terperinci

Bab 2 DASAR-DASAR ALGORITMA

Bab 2 DASAR-DASAR ALGORITMA Bab 2 DASAR-DASAR ALGORITMA Pada bab ini anda akan mempelajari 1. Nama (pengenal) 2. Nilai 3. Variabel dan Konstanta 4. Penugasan (Assignment) 5. Jenis-jenis tipe data 6. Jenis-jenis operasi dan kaitannya

Lebih terperinci

KONSEP DASAR BAHASA PASCAL

KONSEP DASAR BAHASA PASCAL KONSEP DASAR BAHASA PASCAL I. Struktur Dan Komponen Dasar Program Pascal. Struktur dari suatu program Pascal terdiri dari sebuah judul program dan suatu blok program atau badan program. Badan program dibagi

Lebih terperinci

Algoritma Pemrograman I KONSEP DASAR

Algoritma Pemrograman I KONSEP DASAR Algoritma Pemrograman I KONSEP DASAR Apakah Algoritma itu? Masalah adalah pertanyaan atau tugas yang kita cari jawabannya. Untuk masalah yang kecil, dapat ditemukan solusi dengan mudah dan cepat. Jika

Lebih terperinci

A B C D E F. Gambar 1. Senarai berantai dengan 6 simpul

A B C D E F. Gambar 1. Senarai berantai dengan 6 simpul struktur data fd [page 1 of 7] SENARAI BERANTAI Dalam pemakaian sehari-hari istilah senarai berantai (list) adalah kumpulan linier sejumlah data. Contohnya seperti daftar belanja harian, dimana setiap

Lebih terperinci

STACK (Tumpukan) Tumpukan Koin. Tumpukan Kotak

STACK (Tumpukan) Tumpukan Koin. Tumpukan Kotak STACK (Tumpukan) Tumpukan Koin Tumpukan Kotak Defenisi : Secara sederhana, tumpukan bisa diartikan sebagai suatu kumpulan data yang seolah-olah ada data yang diletakan diatas data yang lain. Satu hal yang

Lebih terperinci

Integer (Bilangan Bulat) Yang dimaksud bilangan bulat adalah, -1, -2, -3, 0, 1, 2, 3, 4 dan lain lain yang bukan merupakan bilangan pecahan.

Integer (Bilangan Bulat) Yang dimaksud bilangan bulat adalah, -1, -2, -3, 0, 1, 2, 3, 4 dan lain lain yang bukan merupakan bilangan pecahan. Struktur Data Struktur Data Setiap data memiliki tipe data, apakah merupakan angka bulat, angka pecahan, atau berupa karakter, dan sebagainya. Jadi, tipe data adalah pengelompokan data berdasarkan isi

Lebih terperinci

List akan disimpan dalam bagian memori komputer yang dinamakan HEAP

List akan disimpan dalam bagian memori komputer yang dinamakan HEAP pendahuluan Dikembangkan tahun 1955-1956 oleh Allen Newell, Cliff Shaw dan Herbert Simon di RAND Corporation sebagai struktur data utama untuk bahasa Information Processing Language (IPL). IPL dibuat untuk

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-2 (Teks Algoritma) :: Noor Ifada :: S1 Teknik Informatika-Unijoyo 1 Sub Pokok Bahasan Pendahuluan Judul Algoritma Deklarasi Deskripsi Translasi Teks Algoritma ke dalam

Lebih terperinci

Tipe Data dan Operator

Tipe Data dan Operator Tipe Data dan Operator Dasar Algoritma dan Pemrogrman Eka Maulana, ST, MT, MEng. Klasifikasi Tipe Data 1 Tipe Data Tipe data adalah jenis data yang dapat diolah oleh komputer untuk memenuhi kebutuhan dalam

Lebih terperinci

Pengenalan Pascal. Sejarah Singkat Pascal

Pengenalan Pascal. Sejarah Singkat Pascal Pengenalan Pascal Sejarah Singkat Pascal Dirancang oleh Prof. Nicklaus Wirth dari Technical University di Zurich, Switzerland tahun 1971. Nama Pascal berasal dari Blaise Pascal, nama ahli matematika dan

Lebih terperinci

Dasar Komputer & Pemrograman 2A

Dasar Komputer & Pemrograman 2A Dasar Komputer & Pemrograman 2A Materi 2 Reza Aditya Firdaus JENIS-JENIS DATA Jenis jenis data Jenis jenis data yang dikenal dalam bahasa pascal antara lain yaitu: 1. Jenis data sederhana a. Jenis data

Lebih terperinci

Struktur Data. Tumpukan : Definisi & Operasi. Pertemuan 4 PROBLEM ALGORITHM DATA IMPLEMENTATION. Pert. 4b Struktur Data - FMIPA USD

Struktur Data. Tumpukan : Definisi & Operasi. Pertemuan 4 PROBLEM ALGORITHM DATA IMPLEMENTATION. Pert. 4b Struktur Data - FMIPA USD Pertemuan 4 : Definisi & Operasi Disusun oleh : PH. Prima Rosa, S.Si., M.Sc. Sri Hartati Wijono, S.Si. 2003/2004 Pert. 4b Struktur Data - FMIPA USD - 2003 Hal. 1 Struktur Data PROBLEM ALGORITHM DATA IMPLEMENTATION

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-3 Tipe Data dan Nama :: Noor Ifada :: S1 Teknik Informatika-Unijoyo 1 Sub Pokok Bahasan Pendahuluan Tipe Dasar Tipe Bentukan Nama S1 Teknik Informatika-Unijoyo 2 Pendahuluan

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-3 (Tipe Data dan Nama) :: Noor Ifada :: S1 Teknik Informatika-Unijoyo 1 Sub Pokok Bahasan Pendahuluan Tipe Dasar Tipe Bentukan Nama S1 Teknik Informatika-Unijoyo 2 1

Lebih terperinci

SEQUENTIAL SEARCH 11/11/2010. Sequential Search (Tanpa Variabel Logika) untuk kondisi data tidak terurut

SEQUENTIAL SEARCH 11/11/2010. Sequential Search (Tanpa Variabel Logika) untuk kondisi data tidak terurut Tujuan Searching & Sorting Pertemuan 9-10 Dosen Pembina Danang Junaedi TUJUAN MATERI Setelah mengikuti materi pertemuan ini, mahasiswa diharapkan dapat 1. Menjelaskan dan menggunakan metode pencarian dalam

Lebih terperinci

Sesi/Perkuliahan ke: II

Sesi/Perkuliahan ke: II Sesi/Perkuliahan ke: II Tujuan Instruksional Khusus : 1. Mahasiswa dapat menyebutkan jenis-jenis data sederhana. 2. Mahasiswa dapat menjelaskan pengertian integer,, boolean dan char. 3. Mahasiswa dapat

Lebih terperinci

BAB 1 TIPE DATA. Struktur Data 1. Sederhana : Array dan Record 2. Majemuk terdiri atas Linier Non Linier

BAB 1 TIPE DATA. Struktur Data 1. Sederhana : Array dan Record 2. Majemuk terdiri atas Linier Non Linier TIPE DATA Struktur data adalah suatu koleksi atau kelompok data yang dapat dikarakterisasikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Data secara umum dapat dikategorikan : Tipe data

Lebih terperinci

Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya.

Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pertemuan 1 STRUKTUR DATA Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian Struktur Data yang

Lebih terperinci

STRUKTUR DATA Pertemuan 1 s.d 8

STRUKTUR DATA Pertemuan 1 s.d 8 STRUKTUR DATA Pertemuan 1 s.d 8 Sasaran: Meningkatkan: pemahaman pengetahuan tentang teori dasar struktur data dan penanganan data serta pembuatan algoritma dan penggunaan strukturd dalam pemrograman Materi

Lebih terperinci

Tipe Data dan Variabel. Dosen Pengampu Muhammad Zidny Naf an, M.Kom

Tipe Data dan Variabel. Dosen Pengampu Muhammad Zidny Naf an, M.Kom Tipe Data dan Variabel Dosen Pengampu Muhammad Zidny Naf an, M.Kom Format Pseudocode Lengkap Judul program/algoritma PROGRAM Euclidean Program untuk mencari GCD dari dua buah bilangan bulat positif m dan

Lebih terperinci

Dasar Komputer & Pemrogaman 2A

Dasar Komputer & Pemrogaman 2A Dasar Komputer & Pemrogaman 2A Materi 1 Reza Aditya Firdaus Sejarah Singkat Pascal Dirancang oleh Prof. Nicklaus Wirth dari Technical University di Zurich, Switzerland tahun 1971. Nama Pascal berasal dari

Lebih terperinci

Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya.

Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pertemuan 1 STRUKTUR DATA Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian Struktur Data yang

Lebih terperinci

Algoritma & Pemrograman 1. Muhamad Nursalman Pendilkom/Ilkom Universitas Pendidikan Indonesia

Algoritma & Pemrograman 1. Muhamad Nursalman Pendilkom/Ilkom Universitas Pendidikan Indonesia Algoritma & Pemrograman 1 Muhamad Nursalman Pendilkom/Ilkom Universitas Pendidikan Indonesia Daftar Isi 1. Bab 1 Pengantar & Dasar Dasar Algoritma 2. Bab 2 Aturan Penulisan Teks Algoritma 3. Bab 3 Tipe,

Lebih terperinci

PERKENALAN STRUKTUR DATA. Firmansyah, S.Kom

PERKENALAN STRUKTUR DATA. Firmansyah, S.Kom PERKENALAN STRUKTUR DATA Firmansyah, S.Kom A. TEMA DAN TUJUAN KEGIATAN PEMBELAJARAN 1. Tema Perkenalan Struktur Data 2. Fokus Pembahasan Materi Pokok 1. Definisi Struktur Data 2. Tipe-tipe data 3. Algoritma

Lebih terperinci

Tabel 1. Jenis data integer Ukuran memori (dalam byte)

Tabel 1. Jenis data integer Ukuran memori (dalam byte) TIPE DATA Tipe data yang dikenal dalam bahasa pascal antara lain : Tipe data sederhana / Jenis data yang standar (Dasar) 1. Integer 2. Real 3. Karakter 4. Boolean Tipe data non standar (user defined) 1.

Lebih terperinci

AP2a (Pascal) Akuntansi Kelas 1 Semester 2. Hana Pertiwi S.T

AP2a (Pascal) Akuntansi Kelas 1 Semester 2. Hana Pertiwi S.T AP2a (Pascal) Akuntansi Kelas 1 Semester 2 Hana Pertiwi S.T Pertemuan 1-3 (4 maret 2014) 1. Konsep Dasar Bahasa Pascal 2. Sejarah Singkat Bahasa Pascal 3. Struktur Dan Komponen Dasar Bahasa Pascal ( i).

Lebih terperinci

BAB 1 TIPE DATA. Selain itu terdapat operasi MOD (Modulo) adalah sisa dari pembagian Contoh : 27 MOD 4 = 3

BAB 1 TIPE DATA. Selain itu terdapat operasi MOD (Modulo) adalah sisa dari pembagian Contoh : 27 MOD 4 = 3 BAB 1 TIPE DATA Struktur data adalah suatu koleksi atau kelompok data yang dapat dikarakterisasikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Data secara umum dapat dikategorikan :

Lebih terperinci

Teori Algoritma. Struktur Algoritma

Teori Algoritma. Struktur Algoritma Alam Santosa Teori Algoritma Runtunan Struktur Algoritma Seperti telah dijelaskan sebelumnya, sebuah algoritma terbagi tiga bagian, yaitu: Judul Deklarasi Deskripsi Judul Judul program digunakan untuk

Lebih terperinci

[Type the company name] [Type the document title] [Type the document subtitle] Gilang Abdul Aziz [Pick the date]

[Type the company name] [Type the document title] [Type the document subtitle] Gilang Abdul Aziz [Pick the date] [Type the company name] [Type the document title] [Type the document subtitle] Gilang Abdul Aziz [Pick the date] H a l a m a n 1 DAFTAR ISI DAFTAR ISI... 1 1. TIPE DATA DALAM BORLAND DELPHI7... 2 1.1.

Lebih terperinci

Struktur Data Array. Rijal Fadilah S.Si

Struktur Data Array. Rijal Fadilah S.Si Struktur Data Array Rijal Fadilah S.Si Array Berdimensi Satu Array Satu dimensi tidak lain adalah kumpulan elemen-elemen identik yang tersusun dalam satu baris. Elemen-elemen tersebut memiliki tipe data

Lebih terperinci

ARRAY DINAMIS. Type. Pengenal = Simpul Simpul = Type. (Nama var) : ( Type data)

ARRAY DINAMIS. Type. Pengenal = Simpul Simpul = Type. (Nama var) : ( Type data) ARRAY DINAMIS Sebelumnya telah dijelaskan mengenai variable bertipe array (array statis), suatu tipe data yang bersifat statis (urutan dan ukuran sudah pasti). Kelemahan dari array statis adalah penggunaan

Lebih terperinci

SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 2 x 3 x 50 Menit Pertemuan : 4 & 5

SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 2 x 3 x 50 Menit Pertemuan : 4 & 5 A. Kompetensi 1. Utama SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 2 x 3 x 50 Menit Pertemuan : 4 & 5 Mahasiswa dapat memahami tentang konsep pemrograman

Lebih terperinci

BAB I PENGENALAN STRUKTUR DATA DAN ALGORITMA

BAB I PENGENALAN STRUKTUR DATA DAN ALGORITMA BAB I PENGENALAN STRUKTUR DATA DAN ALGORITMA Tujuan : 1. Mahasiswa memahami apakah yang dimaksud dengan struktur data 2. Mahasiswa memahami apakah yang dimaksud dengan algoritma 3. Mengingat kembali tipe

Lebih terperinci

: Mahasiswa mampu menjelaskan teknik pemrograman menggunakan Linked List. Single Linked List

: Mahasiswa mampu menjelaskan teknik pemrograman menggunakan Linked List. Single Linked List Pertemuan 5 Waktu Tujuan Pembelajaran : 135 menit : Mahasiswa mampu menjelaskan teknik pemrograman menggunakan Linked List. Substansi Materi : Single Linked List, LIFO, FIFO Tabulasi Kegiatan Perkuliahan

Lebih terperinci

Brigida Arie Minartiningtyas, M.Kom

Brigida Arie Minartiningtyas, M.Kom Brigida Arie Minartiningtyas, M.Kom Struktur Data Struktur dan Data Struktur suatu susunan, bentuk, pola atau bangunan Data suatu fakta, segala sesuatu yang dapat dikodekan atau disimbolkan dengan kode-kode

Lebih terperinci

BAB V SORTING (PENGURUTAN) INTERNAL

BAB V SORTING (PENGURUTAN) INTERNAL BAB V SORTING (PENGURUTAN) INTERNAL Sorting Internal : Proses pengurutan sekelompok data yang berada didalam memori utama komputer. Sorting External : Proses pengurutan sekelompok data yang sebagian saja

Lebih terperinci

PERKEMBANGAN PASCAL. Pascal adalah bahasa tingkat tinggi ( high level language) yang orientasinya pada segala tujuan

PERKEMBANGAN PASCAL. Pascal adalah bahasa tingkat tinggi ( high level language) yang orientasinya pada segala tujuan PERKEMBANGAN PASCAL Pascal adalah bahasa tingkat tinggi ( high level language) yang orientasinya pada segala tujuan Nama pascal diambil sebagai penghargaan terhadap BLAISE PASCAL seorang ahli matematika

Lebih terperinci

BAB IX LINKED LIST (SENARAI BERANTAI)

BAB IX LINKED LIST (SENARAI BERANTAI) BAB IX LINKED LIST (SENARAI BERANTAI) Linked list atau biasa disebut senarai berantai adalah suatu kumpulan data yang saling terhubung antar 1 data dengan data berikutnya. Suatu element (disebut dengan

Lebih terperinci

Algoritma dan Struktur Data

Algoritma dan Struktur Data Algoritma dan Struktur Data Algoritma Pemrograman Bekti Wulandari, M.Pd Kelas B TE 2014 Program Program: sederetan perintah-perintah yang harus dikerjakan oleh komputer untuk menyelesaikan masalah. 3 level

Lebih terperinci

Algoritma Pemrograman I

Algoritma Pemrograman I Algoritma Pemrograman I Konsep Dasar Algoritma Ika Menarianti 1 Apakah Algoritma itu? Masalah adalah pertanyaan atau tugas yang kita cari jawabannya. Untuk masalah yang kecil, dapat ditemukan solusi dengan

Lebih terperinci

1. Kompetensi Mengenal dan memahami notasi-notasi algoritma yang ada.

1. Kompetensi Mengenal dan memahami notasi-notasi algoritma yang ada. Semester : 4 Pengenalan Algoritma dan Program 200 menit No. : LST/EKA/EKA259/01 Revisi : 01 Tgl. : 10-2-2014 Hal. 1 dari 2 hal. 1. Kompetensi Mengenal dan memahami notasi-notasi algoritma yang ada. 2.

Lebih terperinci

Pengenalan Algoritma & Struktur Data. Pertemuan ke-1

Pengenalan Algoritma & Struktur Data. Pertemuan ke-1 Pengenalan Algoritma & Struktur Data Pertemuan ke-1 Apa itu Struktur Data? PROGRAM ALGO RITMA STRUKTUR DATA Algoritma.. deskripsi langkah-langkah penyelesaian masalah yang tersusun secara logis 1. Ditulis

Lebih terperinci

Perkuliahan Pemrograman II (Teori / Praktikum) Minggu 3

Perkuliahan Pemrograman II (Teori / Praktikum) Minggu 3 Perkuliahan Pemrograman II (Teori / Praktikum) Minggu 3 Tipe Data Variabel Konstanta Operator Fungsi-Fungsi Konversi Data Contoh Program Mengolah Data Tipe data pada dasarnya merupakan nama untuk sejenis

Lebih terperinci

Pengenalan Pascal/DevPascal

Pengenalan Pascal/DevPascal Materi 1 Pengenalan Pascal/DevPascal Turbo Pascal adalah Compiler bahasa pemrograman Pascal. Untuk memulai menjalankan Pascal: Cari Folder Pascal ada di C:\TP\BIN\TPX.EXE Jalankan File TPX tersebut Dev

Lebih terperinci

ALGORITMA & PEMROGRAMAN

ALGORITMA & PEMROGRAMAN ALGORITMA & PEMROGRAMAN Oleh: Tim Algoritma & Pemrograman IF Linked List PENGERTIAN LINKED LIST Salah satu bentuk struktur data, berisi kumpulan data (node) yang tersusun secara sekuensial, saling sambung-menyambung,

Lebih terperinci