Struktur Data 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 Struktur Data Struktur data adalah : Cara menyimpan atau merepresentasikan data didalam computer agar bisa dipakai secara efisien sedangkan Data adalah :representasi dari fakta dunia nyata Fakta atau keterangan kenyataan yang disimpan, direkam atau direpresentasikan dalam bentuk tulisan, suara, gambar, sinyal, atau symbol Secara garis besar type data dapat dikategorikan menjadi: a. Tipe Data Sederhana 1. Tipe data Sederhana tunggal misalnya : integer, real, boolean dan karakter 2. Tipe data Sederhana majemuk misalnya : string b. Struktur data meliputi 1. Struktur data sederhana misalnya : Array dan Record 2. Struktur data majemuk, yang terdiri dari : Linier : Stack, Queue, serta List dan Multilist Non Linier : Pohon Biner dan Graph 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. Struktur data yang “standar” yang biasanya digunakan dibidang informatika adalah : List Linier (Link List dan variasinya) Multilist Stack (Tumpukan) Queue (Antrian) Tree (Pohon) Graph (Graf) 2.
Struktur data dan Tipe data pada Bahasa Pemrograman Pascal
Pada program pascal terdapat 2 buah bagian 1. Nama program Dosen : Ismael, M. Kom
Struktur Data 2. Blok program -
Bagian Deklarasi
-
Bagian Peryataan
Struktur utama program pascal terdiri dari Program NAMA_PROGRAM ………{nama judul program} Uses ………{Deklarasi Piranti} Label ………{Deklarasi Label} Const ………{Deklarasi Konstanta} Type ………{Deklarasi Type data} Var ………{Deklarasi perubah} Procedure Satu; Procedure Dua; Function Tambah; Begin {Awal Program Utama} ….. ….. < Satement-statement dari program utama > ….. …… End. Input Output Input data : Read, Readln Output data : Write, Writeln Contoh program Program Contoh; Uses wincrt; Label jumlah; const gp=500000; type pecahan =real; var tg :Pecahan; gb :Longint begin writeln (‘gaji pokok =’,gp); tg:= gp + 100000; writeln (‘Total Gaji =’, tg:4:0); goto jumlah; writeln (‘-------------------------------‘); jumlah: begin Dosen : Ismael, M. Kom
Struktur Data gb:=gp + 25000 ; writeln (‘gaji bersih =’,gb) end; end. Procedure dan function merupakan sub dari sebuah program dibuat untuk menghemat memomri dan penghematan dalam penulisan kode program Perbedaan antara procedure dan function adalah : Procedure -
nama procedure tidak dapat mengiriimkan nilai
contoh uses wincrt; procedure hitung (var x,y :integer ; var nl:integer); begin nl:=x+y; end; var a,b,z :integer; begin a:=3; b:=5; hitung(a,b,z); writeln(a, ’+’ ,b, ’=’ ,z); end. Function -
Nama dari function dapat megirimkan nilai, nama function merupakan nama dari variable
Contoh Function hitung (var x,y :integer):integer; begin hitung:=x+y; end; var a,b,z :integer; begin a:=3; b:=5; writeln(a, ’+’ ,b, ’=’ ,hitung(a,b)); end. TIPE DATA Dalam pascal, semua perubah yang akan dipakai harus sudah
ditentukan tipe datanya,
dengan menentukan tipe data suatu perubah, sekaligus menentukan batasan nilai perubah tersebut dan jenis operasi yang bisa dilaksanakan atas perubah tersebut
Dosen : Ismael, M. Kom
Struktur Data Bentuk umum dari deklarasi tipe data adalah:
TYPE PENGENAL = TIPE; Pengenal
: nama pengenal yang menyatakan tipe data.
Tipe
: tipe data yang berlaku dalam turbo pascal
Secara lengkap tipe data dalam turbo pascal dapat digambarkan sebagai berikut :
Tipe Ordinal
Tipe sederhahana (simple type)
Integer Shortint Longint Boolean Char Byte Word Subjangkauan (Subrange) Terbilang
Tipe Real Tipe string Tipe Data Tipe Terstruktur (Structured Type)
Larik (Array) Rekam (Record) Himpun (Set) Berkas (File)
Tipe Pointer Tipe Data dalam Turbo Pascal Tipe Sederhana Tipe data sederhana disebut juga tipe data scalar yang biasa diartikan bahwa dalam sebuah perubah hanya dimunkinkan untuk menyimpan sebuah niali data. Tipe sederhana terbagi menjadi dua yaitu: tipe Ordinal dan Tipe Real. Tipe Ordinal Tipe ordinal adalah subset dari tipe sederhana, semua tipe sederhana disebut tipe ordinal kecuali real. Tipe Integer Tipe data yang tidak mempunyai titik desimal. Ada 5 tipe data yang termasuk kelompok ini Integer, Shortint, Longint, Byte, Word. Batas nilai masing-masing tipe tersebut adalah :
Dosen : Ismael, M. Kom
Struktur Data Tipe
Batas Nilai 0…225 -128…127 -23768…23757 0…65535 -2147483648…2147483647
Byte Shortint Integer Word Longint
Ukuran dalam byte 1 1 2 2 4
Tipe data juga menentukan operasi yang bisa dilakukannya. Operator-operator yang bisa dikerjakan tipe data diatas adalah Operator + * dim mod
Kegunaan Penjumlahan Pengurangan Perkalian Pembagian Sisa pembagian
Tipe Boolean Tipe Boolean mempunyai dua nilai yakni benar dan salah. Dengan menggunakan operator And, Or, atau Not. nilai Boolean sangat penting untuk keputusan dalam suatu program. Sebagai contoh, misalkan amin akan naik pesawat
terbang, persyaratan
administrasi yang harus dilaksanakan antara lain : Tiket
: Bernilai benar jika amin sudah punya tiket jika tidak berarti salah
ChekIn
: Bernilai benar jika amin sudah melakukan chekin jika tidak berarti salah
Periksa
: bernilai jika amin telah memeriksakan barang bawaannya, jika tidak berarti salah
If tiket and chekin and periksa then Diperbolehkan naik pesawat Kondisi diatas akan bernilai jika tiket, chekin dan periksa ketiga-tiganya bernilai benar
Tipe Char Kata char digunakan untuk mendefenisikan tipe data
yang nilainya
merupakan
himpunan karakter yang dikenal seperti yang tersaji dalam turbo table ASCII. Dalam turbo pascal konstanta bertipe char ditulis diantara tanda petik Satu misalnya : „A‟
„B‟
„,‟
„3‟
ingat bahwa data bertipe char hanya terdiri dari 1 karakter
Dosen : Ismael, M. Kom
Struktur Data Tipe Terbilang Disebut tipe terbilang karena semua nilai disebut satu per satu. Sebagai contoh ada 5 buah toko kelontong, Karena semua toko akan dipakai untuk komputasi, maka nama toko tersebur dapat digunakanuntuk didefenisikan tipe data yang baru yaitu : Type Toko =(BARU,RAMAI, SUKSES, RAPI,MAJU)
Subjangkauan (Subrange) Tipe subjangkauan adalah tipe data yang mempunyai batasan maksimal dan minimal sebagai contoh jangkauan nilai ujian adalah dari 0 sampai 100 merupakan bagian jangkauan dari data bertipe integer.
Data bertipe ini dapat didefenisikan pada type ordinal yang
sebelumnya telah didefenisikan terlebih dahulu . deklarasi tipe subjangkauan adalah :
Type Pengenal = konstanta1..konstanta2; Pengenal1
: nama tipe data yang akan dideklarasikan
Konstanta1
: Batas bawah nilai data
Konstanta2
: Batas atas nilai data.
Contoh Type Nilai=0..100;
Tipe Real Konstanta bertipe real adalah tipe bilangan yang mempunyai titik desimal. Paling sedikit harus ada satu digit sebelum dan sesudah titik desimal. Nilainya bisa negatif atau positif, bilangan riil juga bisa dinyatakan dalam bentuk exsponensial dalam pemakaian pangkat dari bilangan dasar 10 dinyatakan dengan notasi E Contoh 0.00017543 adalah 1.7543E-4 Dalam turbo pascal terdapat 5 macam tipe data riil yaitu : real, single, double, extended dan comp.
Tipe String Tipe string adalah data yang berisi sederetan karakter yang banyak karakter bisa berubah-ubah sesuai kebutuhan yaitu dari 1sampai 255 karakter. Tipe data karakter yang tidak dinyatakan panjang karakternya dianggap 255 karakter. Bentuk umum dari dari deklarasi tipe string adalah : Dosen : Ismael, M. Kom
Struktur Data Type pengenal = string <[panjang]> Pengenal
: nama tipe data
Panjang
: bilangan bulat yang menyatakan banyaknya karakter.
Contoh Type nama =string[30];
Tipe Terstruktur (Structured Type) Dalam tipe terstruktur setiap perubah bisa menyimpan lebih dari sebuah nilai data masing-masing nilai data tersebut disebut komponen. Tipe terstruktur ditentukan berdasarkan penstrukturan dan tipe masing-masing komponen. Turbo pascal mempunyai 4 buah tipe data terstruktur yaitu larik, rekam, himpunan dan berkas.
Tipe larik (Array) Larik (array) adalah tipe data terstruktur yang mempunyai komponen dalam jumlah yang tetap dan setiap komponen mempunyai tipe data sama. Posisi masing-masing komponen dalam larik dinyatakan sebagai nomor indek. Bentuk umum dari deklarasi larik adalah : Type pengenal = ARRAY[Tipe Indek] of tipe data; Pengenal
: tipe data untuk nomor index
Tipe
: tipe data komponen.
Contoh Type vek = ARRAY[1..100] of integer;
Tipe Rekam (Record) Sama halnya dengan larik, rekam (record) adalah kumpulan data. Perbedaaan antara larik dengan rekaman adalah bahwa dalam larik semua elemenya harus bertipe sama, tetapi dalam rekaman setiap elemen bisa mempunyai tipe data berbeda. Rekaman dapat muncul dalam berbagai bentuk, misalnya informasi yang tertulis pada kartu dan tersimpan dalam kotak. Biasanya rekaman-rekaman dalam komputer tersimpan dalam bentuk berkas (file). Bentuk umum dari deklarasi rekaman adalah:
Type pengenal = record Medan1 : tipe1; Medan2 : tipe2; . .
Dosen : Ismael, M. Kom
Struktur Data medann : tipen; End; Pengenal
:pengenal yang menunjukan tipe data yang akan dideklarasikan.
Medan1,...,medann
:nama medan yang akan digunakan.
Tipe1,…,tipen
:sembarang tipe data yang telah dideklarasikan sebelumnya
Contoh Type siswa = record Nama :string[30]; Alamat :string[40]; Kelamin :(L,P); Kelas : 1..6; End; Tipe Himpunan (Set) Tipe data himpunan adalah kumpulan obyek yang mempunyai tipe data sama dan urutan penulisan tidak diperhatikan, setipa obyek dari himpunan disebut dengan disebut anggota atau elemen himpunan. Bentuk umum deklarasi himpunan adalah : Type pengenal = set of tipe data; Atau Var pengenal : set of tipe data; Pengenal
: nama perubah atau pengenal yang akan dinyatakan sebagai tipe data himpunan
Tipe data
: tipe data dari anggota himpunan, harus bertipe ordinal.
Contoh Type Irama = (JAZZ,ROCK,BLUES, COUNTRY, CLASSIC); Musik = set of Irama; Nilai = set of 0..100; Huruf = set of „A..‟Z‟; Var Jenis_musik : musik; Nilai_ujian : nilai; Nilai_huruf : huruf; Tipe Berkas (File) Berkas (file) kumpulan sejumlah komponen yang bertipe data sama, yang jumlahnya tidak tertentu. Biasanya tersimpan dalam satu media penyimpanan luar. Jumlah komponen dalam berkas dapat ditambah bila diperlukan. Berkas dapat berupa berkas yang disimpan dalam cakram magnetis, pita magnetis, kartu plong dan sejenisnya atau berupa piranti logika yang selama ini kita gunakan yaitu statemen input output yang menunjukan piranti masukan
Dosen : Ismael, M. Kom
Struktur Data keluaran standar (keyboard). Data yang ada dalam berkas bisa digunakan oleh sembarang program yang tipe datanya sisesuaikan dengan kebutuhan. Bentuk umum dari deklarasi berkas adalah : Type pengenal = file of pengenal1; Pengenal
: pengenal yang akan dinyatakan sebagai bertipe data berkas.
Pengenal1
: Tipe data komponen berkas.
Contoh Type Nilai = record Nim : string[8]; Nama : string[25]; Kelas : string[6]; Nilai : integer; End; D_nilai : file of Nilai; Var Daf_nilai :d_Nilai; Tipe Pointer Semua tipe data yang sudah
dijelaskan diatas, apabila digunakan untuk
mendeklarasikan suatu perubah, maka perubah tersebut adalah perubah yang statis. Pascal memungkinkan pemakai untuk menggunakan perubah yang bersifat dinamis, yang disebut dengan pointer.
Dosen : Ismael, M. Kom