Pertemuan 2 - Universitas Narotama

Report
ALGORITMA DAN
PEMROGRAMAN
Pertemuan ke-2
Tujuan Pembelajaran
Setelah pertemuan ini, diharapkan mahasiswa memiliki kompetensi yang mampu
memahami:
•
•
•
•
•
•
•
Apa itu representasi data (data representation);
Apa itu Abstract Data Type;
Apa itu tipe data (data type);
Apa itu primitive data type;
Apa itu struktur data (data structure) dan tipe terstruktur (structured type);
Apa itu Tipe atomic;
Perbedaan Abstract Data Type, Tipe Data, dan Struktur Data.
Algoritma dan Pemrograman - Universitas Narotama
2
Materi Bahasan
•
•
•
•
•
•
•
•
•
Overview…
Struktur Data (data structure);
Representasi data (data representation);
Primitive Data Type;
Abstract Data Type;
Tipe data (data type);
Tipe Terstruktur (structured type);
Tipe atomic;
Perbedaan Abstract Data Type, Tipe Data, dan Struktur Data.
Algoritma dan Pemrograman - Universitas Narotama
3
Overview
•
Tujuan utama dari penggunaan algoritma adalah Pemecahan Masalah.
•
Akan tetapi, terdapat banyak pendekatan dalam memecahkan masalah. Sehingga
muncul sebuah pertanyaan, “Bagaimana memilih pendekatan terbaik tersebut?”
Bagaimana memilih algoritma yang
tepat?
Algoritma dan Pemrograman - Universitas Narotama
4
Overview (cont’d)
Tujuan dari pemrograman komputer ada 2 hal, yaitu:
•
Untuk merancang algoritma yang mudah dipahami, dibuat (coded), dan juga didebug;
•
Untuk merancang algoritma yang dapat menggunakan computer’s resources
secara efisien.
Efisien?
Debug?
Computer’s
resources?
Algoritma dan Pemrograman - Universitas Narotama
Tujuan tersebut sering
kali bersinggungan,
pemecahannya?
5
Struktur Data
•
•
•
Indonesia
Sebuah struktur data dapat
membantu kita memahami
hubungan antar elemen data dan
menyusunnya dalam memori.
Seperti urutan bulan dalam tahun
tertentu. Sebagai contoh, bulan
April menunjukkan bulan
selanjutnya dan juga bulan
sebelumnya, yaitu? 
Atau, bentuk/struktur
lokasi/tempat di suatu Negara.
Bali
Kuta
Jawa
Denpasar
Jawa Timur
Surabaya
Ngagel
Sukolilo
Algoritma dan Pemrograman - Universitas Narotama
Sumatra
Sumatra Utara
Sidoarjo
Gubeng
6
Representasi Data
•
Banyak metode yang digunakan untuk
merepresentasikan data. Akan tetapi,
yang biasanya digunakan adalah
model hierarchical layer.
•
Representasi dasar dari representasi
data adalah bit. Dimana bit hanya
berisi 2 nilai saja, yaitu 1 dan 0.
Beragam kombinasi dari 2 nilai
tersebut digunakan untuk merepresentasikan data dengan cara
berbeda pada sistem yang berbeda
pula.
Algoritma dan Pemrograman - Universitas Narotama
7
Primitive Data Type - Integer
Integer adalah dasar dari tipe data yang banyak digunakan untuk menyimpan nilai
negatif dan juga nilai non-negatif (bilangan bulat).
•
Nilai non-negatif direpresentasikan menggunakan binary number system. Jadi,
setiap bit memiliki nilai dari 2 pangkat n dimana nilai bit paling kanan memiliki nilai
20.
Contoh: nilai 0 0 1 0 0 1 1 0 merepresentasikan 21+22+25 = 38.
Algoritma dan Pemrograman - Universitas Narotama
8
Primitive Data Type – Integer (cont’d)
•
Nilai negatif direpresentasikan dengan 2 cara, yaitu one’s complement dan two’s
complement.
Pada one’s complement, nilai setiap bit berganti menjadi nilai kebalikannya. Contoh: nilai 0
0 1 0 0 1 1 0 berubah menjadi 1 1 0 1 1 0 0 1 = -38
Pada two’s complement, 1 ditambahkan pada hasil dari one’s complement :
Hasil one’s complement
Ditambahkan 1
1 + 1 kenapa
hasilnya 0?
Algoritma dan Pemrograman - Universitas Narotama
9
Primitive Data Type - Real
•
Metode ini digunakan untuk merepresentasikan nilai floating-point notation. Pada
notasi ini, nilai real direpresentasikan oleh sebuah nilai yang bernama MANTISSA,
times a base yang dibangkitkan pada pangkat integer bernama EXPONENT.
•
Sebagai contoh, jika basisnya adalah 10, nilai 209.52 direpresentasikan sebagai
20952 x 10-2.
Mantissa-nya adalah 20952 dan eksponent-nya adalah -2. keduanya adalah two’s
complement integer biner. Sebagai contoh, nilai 20952 dalam biner 1 0 1 0 0 0 1 1 1 0 1 1
dan nilai -2 dalam nilai biner 8 bit two’s complement 1 1 1 1 1 1 1 0.
Sehingga nilai 20952 x 10-2 adalah 1 0 1 0 0 0 1 1 1 0 1 1. 1 1 1 1 1 1 1 0.
-2 dalam biner 8 bit,
kenapa?
Algoritma dan Pemrograman - Universitas Narotama
10
Primitive Data Type - Character
•
Informasi pada komputer tidak selalu diterjemahkan dalam nilai numeric. Sebagai
contoh, untuk menyimpan gaji dari seorang karyawan kita menggunakan integer,
akan tetapi nama karyawan tersebut bagaimana? Informasi tersebut disimpan
dalam bentuk karakter string.
•
Ada beberapa pengkodean yang ada untuk menyimpan data dalam bentuk karakter,
seperti BCD, EBCDIC, dan ASCII.
Sebagai contoh, jika 8 bit digunakan untuk menggambarkan karakter, maka 28 = 256
karakter yang berbeda dapat di representasikan sebagai pola bit.
Jika, 1 1 0 0 0 0 0 0 = ‘A’ dan 1 1 0 0 0 0 0 1 = ‘B’,
Maka ‘AB’ = 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 1.
BCD, EBCDIC,
•
ASCII???
Algoritma dan Pemrograman - Universitas Narotama
11
Abstract Data Type (ADT)
•
Sebuah ADT didefinisikan sebagai sebuah model matematis dari objek data yang
menyusun sebuah data type juga sebagai fungsi yang menjalankan objek ini.
•
Ada 2 langkah untuk mendefinisikan ADT, yaitu:
•
•
Gambaran cara bagaimana komponen berelasi satu sama lain;
Operasi yang dapat dilakukan pada data type tersebut.
Sebagai contoh, tipe data int yang ada pada pemrograman ‘C’ terdiri dari bilangan {~, …, 3, -2, -1, 0, 1, 2, 3, …, ~} dan operasi yang ada pada tipe data tersebut int adalah
penambahan, pengurangan, perkalian, dan lainnya.
Algoritma dan Pemrograman - Universitas Narotama
12
Abstract Data Type (ADT) (cont’d)
•
Penggunaan ADT pada sebuah Stack
Maksudnya apa?????
Algoritma dan Pemrograman - Universitas Narotama
13
Tipe Data – Data Type
•
Setiap bahasa pemrograman memiliki kumpulan tipe data. Ada beberapa definisi
yang dapat menggambarkan tipe data, seperti:
•
•
•
Sebuah metode yang menerjemahkan sebuah pola bit yang biasanya disebut data type;
Kata data type merujuk pada implementasi model matematis yang dirujuk oleh ADT;
Sebuah data type adalah abstract concept yang didefinisikan oleh sekumpulan
parameter logis.
Secara umum, sebuah data type dapat didefinsikan sebagai sebuah konsep abstrak yang
mendefinisikan representasi internal data pada memori.
Algoritma dan Pemrograman - Universitas Narotama
14
Data Structure dan Structured Type
•
Kata data structure mengacu pada sekumpulan
variabel komputer yang terhubung oleh logika
atau aturan matematis.
•
Kata structured type mengacu pada sebuah
struktur data yang menyusun satu atau lebih
elemen yang dinamakan sebagai komponen.
Elemen ini adalah struktur data sederhana yang
terdapat pada sebuah bahasa pemrograman.
Contoh: polynomial setidaknya membutuhkan 2
komponen, yaitu: koefisien dan eksponen.
Algoritma dan Pemrograman - Universitas Narotama
15
Atomic Type
Secara umum, sebuah struktur data digambarkan sebagai sebuah susunan memori,
dimana susunan tersebut memiliki 2 bagian, yaitu:
•
Data storage, dan
•
Address storage.
Algoritma dan Pemrograman - Universitas Narotama
16
Perbedaan antara ADT, Data Type, dan
Data Structure
•
Sebuah ADT adalah spesifikasi dari data type yang mengambarkan model logis
dan matematis dari data type tersebut.
•
Sebuah data type adalah implementasi dari sebuah ADT.
•
Data Structure mengacu pada sekumpulan variabel komputer yang terhubung
oleh aturan tertentu.
Contohnya???
Algoritma dan Pemrograman - Universitas Narotama
17
Rangkuman
•
Data structure adalah sebuah organisasi data yang memiliki aturan tertentu
berupa aturan logis atau matematis.
•
Data type adalah sebuah konsep yang menggambarkan representasi internal
data.
•
Sebuah Abstract Data Type (ADT) adalah spesifikasi kriteria logis dan matematis
dari data type atau structure. ADT berfungsi sebagai arahan untuk implementasi
sebuah data structure.
•
Hubungan antara ADT, data type, dan data structure sangat erat sekali . Sebuah
ADT adalah spesifikasi dari sebuah data type dimana data type adalah
implementasi ADT serta data structure berisi variabel komputer dari data type
yang sama ataupun berbeda.
Algoritma dan Pemrograman - Universitas Narotama
18
Questions
and
Answers
Algoritma dan Pemrograman - Universitas Narotama
19

similar documents