Anda di halaman 1dari 56

Presensi Kehadiran

S1IF-08-A S1IF-08-B

Chanel Youtobe : Link Resume :


https://ittp.link/YoutobeChanel_TGL https://ittp.link/ResumeMateri-TGL

1
Pretest – Modul 2

Link Pretest :
https://new.edmodo.com/
2
Pertemuan 2,

Algoritma dan Struktur data


Data dan
Struktur data
Out Line
 Pengantar Data dan Struktur
Data
 Array (Larik)
Tujuan Mata Kuliah
• Mempelajari dasar-dasar ilmu komputer agar dapat
melakukan
– perancangan dan pemilihan struktur data yang sesuai,
– implementasi, dan
– melakukan analisis secara umum pada algoritma yang dibuat.

• Meningkatkan ketrampilan pemrograman


– Skala lebih besar, lebih efisien dan efektif.
– Peningkatan pengetahuan dalam pemilihan algorirtma dalam
memecahkan permasalahan

IF FTII ITTP  SE6120902 Pemrograman & Struktur Data 2020/21  Genap  Kuliah 2 2
ALgoritma

Program

Struktur
Data
Mengapa Belajar Implementasi Struktur Data?

• Mengetahui kelebihan dan kekurangan dari masing- masing


struktur data.
• Cara yang terbaik untuk benar-benar dapat memahami masing-
masing struktur data adalah membuatnya.
• Menyesuaikan struktur data yang ada untuk problem baru
(augmented data structure)
• Dalam industri, bahasa yang digunakan tidaklah selalu Java.
Mungkin saja di bahasa tersebut tidak terdapat library untuk
struktur data.
• Melatih berpikir tentang efisiensi

IF FTII ITTP  SE6120902 Pemrograman & Struktur Data 2019/20  Genap  Kuliah 2 10
Latar Belakang

Struktur data menjadi dasar
dalam langkah awal perancangan program
Arti kata (Webster)
• da•ta (n.pl.)
fakta atau angka yang akan diproses; bukti, catatan,
statistik, dll. dari mana kesimpulan dapat
disimpulkan; informasi
• struc•ture (n.)
1. cara membangun, atau mengatur
2. sesuatu yang dibangun atau dibangun, seperti
bangunan atau bendungan
3. pengaturan atau keterkaitan semua bagian dari
keseluruhan; cara organisasi atau konstruksi [struktur
atom, struktur masyarakat]
4. sesuatu yang terdiri dari bagian-bagian yang saling
terkait membentuk suatu organisme atau organisasi
IF FTII ITTP  SE6120902 Pemrograman & Struktur Data 2019/2020 Genap  Kuliah 2 3
Arti kata (Webster)
• al•go•rithm (n.)
1. Matematika a) metode sistematis dan terstruktu apa
pun untuk menyelesaikan jenis masalah tertentu b)
perhitungan berulang yang digunakan dalam
menemukan pembagi umum terbesar dari dua angka
(disebut dalam algoritma Euclidean lengkap).
2. Komputasi. seperangkat instruksi yang telah
ditentukan untuk menyelesaikan masalah tertentu
dalam sejumlah langkah
Contoh:
– Problem: mencari sebuah elemen dalam array
terurut
– Algoritma: binary search

IF FTII ITTP  SE6120902 Pemrograman & Struktur Data 2019/20  Genap  Kuliah 2 4
Data
 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

• Struktur data memudahkan kita untuk


component reuse.
– Sekali kita implementasi, dapat digunakan berkali-
kali dalam aplikasi yang berbeda

IF FTII ITTP  SE6120902 Pemrograman & Struktur Data 2019/20  Genap  Kuliah 2 6
Manfaat
Pemakaian struktur data yang tepat di
dalam proses pemrograman akan menghasilkan :
 Algoritma yang lebih jelas dan tepat, sehingga
menjadikan program secara keseluruhan lebih
efisien dan sederhana.

lebih ringkas,
Membuat program

lebih bersih, lebih elegan, lebih mudah dan


lebih mampu berkinerja tinggi (karena efisien dalam
penggunaan memori dan waktu).

 Program berjalan membutuhkan waktu

beberapa detik, di mana struktur


yang lain mungkin akan membutuhkan ribuan detik.
Perbedaan Tipe Data, Obyek Data & Struktur Data
Tipe Data Standar
Tipe data standar merupakan tipe data yang tersedia

pada kebanyakan komputer sebagai built-in


features.
Tipe data standar
yaitu :

Tunggal
- Integer
- Real
- Boolean
- Char

Majemuk
- String
Obyek Data
adalah kumpulan elemen yang mungkin
untuk suatu tipe data tertentu.

◦ Mis: integer mengacu pada obyek data -32768 s/d 32767,


byte 0 s/d 255, string adalah kumpulan karakter maks 255
huruf
Struktur Data
caramenyimpan atau
merepresentasikan data di dalam komputer

agar bisa dipakai secara efisien


Struktur Data
Struktur Data, meliputi :
a. Struktur data dasar/sederhana, yaitu array,
record/struct dan himpunan

b. Struktur data lanjut/majemuk, yang terdiri dari :


- Linier : Stack, Queue, serta List dan Multilist
- Non Linier : Pohon Biner dan Graph
example
int nilai[3][3];

Struktur data

Tipe data

Obyek data?
Aktivitas Struktur Data
 Di dalam struktur data kita berhubungan dengan
2 aktivitas:
◦ Mendeskripsikan kumpulan obyek data yang sesuai dengan
tipe data yang ada
◦ Menunjukkan mekanisme kerja operasi-operasinya
 Contoh: integer (-32768 s/d 32767) dan jenis operasi yang
diperbolehkan adalah +, -, *, /, mod, ceil, floor, <, >, != dsb.
 Struktur data = obyek data + [operasi manipulasi
data]
Hubungan SD dan memory
 Setiap tipe data dan struktur data yang dipilih,
membutuhkan ruang penyimpanan di memory
 Programmer harus tahu, seberapa besar alokasi

memory yang digunakan untuk menampung data


 Pemborosan ruang di memory akan menyebabkan

performa program berjalan lambat


Memory yang dimaksud adalah RAM
Memory internal : RAM
 Bersifat sementara = volatile
 Berisi program dan data yang sedang diproses
oleh prosesor
 akses terhadap lokasi-lokasi di dalamnya
dapat dilakukan secara acak (random), bukan
secara berurutan (sekuensial)
RAM=main memory
Perhatikan ilustrasi tentang pemrosesan instruksi
berikut !
PC MAR
Address Address MM
400 bus 400
bus
401 401
402 402

405 405

ALU IR MDR
400= A+B
A+B 401=A=2
2 Data bus 402=B=3
Data
2+3 A+B bus 3
balasan 405=5
5 baca
ACCU OR CU

2
5
3

tulis
Tabel type data dan range

* * Ukuran variabel mungkin berbeda dari yang


ditunjukkan pada tabel di atas , tergantung pada
compiler dan komputer yang Anda gunakan .
Type Typical Bit Width Typical Range
char 1byte -127 to 127 or 0 to 255

unsigned char 1byte 0 to 255


signed char 1byte -127 to 127
int 4bytes -2147483648 to 2147483647

unsigned int 4bytes 0 to 4294967295


signed int 4bytes -2147483648 to 2147483647

short int 2bytes -32768 to 32767


unsigned short int Range 0 to 65,535
signed short int Range -32768 to 32767
long int 4bytes -2,147,483,648 to 2,147,483,647

signed long int 4bytes same as long int


unsigned long int 4bytes 0 to 4,294,967,295
float 4bytes +/- 3.4e +/- 38 (~7 digits)

double 8bytes +/- 1.7e +/- 308 (~15 digits)

long double 8bytes +/- 1.7e +/- 308 (~15 digits)

wchar_t 2 or 4 bytes 1 wide character


Size of
Hubungan SD dan Algoritma

Dengan pemilihan struktur
data yang baik, maka problem yang
kompleks dapat diselesaikan sehingga
algoritma dapat digunakan secara
efisien, operasi-operasi penting dapat
dieksekusi dengan sumber daya yang
lebih kecil, memori lebih kecil, dan
waktu eksekusi yang lebih cepat.
Ciri Algoritma
 Ciri algoritma yang baik menurut Donald E.Knuth:
◦ Input: ada minimal 0 input atau lebih
◦ Ouput: ada minimal 1 output atau lebih
◦ Definite: ada kejelasan apa yang dilakukan
◦ Efective: langkah yang dikerjakan harus efektif
◦ Terminate: langkah harus dapat berhenti (stop) secara jelas
Materi
 Pengantar Struktur Data
 Array (Larik)
 Array 2D
 Pointer
 Struct
 Linked List
 Stack
 Queue
 Double Linked List
 Double Linked List Circular
Array (larik)
Contoh kasus
Bagaimana cara menyimpan ?

A, apple, 10
Contoh kasus
Bagaimana cara menyimpan ?

A1, apple, 10

A2, apple, 10

A3, apple, 10
Cara penyimpanan tersebut dinilai tidak
efektif.
Coba perhatikan code
program berikut !

int number1;
int number2;
int number3;

number1 = 1;
number2 = 2;
number3 = 3;
Code di atas bukanlah contoh yang
baik untuk memperlihatkan proses
penginisialisasian dan penggunaan variabel, terutama
jika variabel tersebut digunakan untuk

tujuan yang sama.


definisi

Sebuah array akan menyimpan beberapa
item data dengan tipe data yang sama
di dalam sebuah blok memori yang berdekatan
yang kemudian dibagi menjadi beberapa slot.

◦ Cara penyimpanan [struktur data] inilah yang disebut sebagai


array.
A

A[0] B

C
A[1] B[0]

B[1] C[0]
A[2]
C[1]
B[2]
A[3]
Array

array

Tipe data yang sama,


disimpan dalam satu tempat
yang sama dan diberi nomor
indeks.

Umumnya, indeks dimulai dari “0”


NIM

NO NIM NAMA NILAI NIM[0] NAMA

1 D3001 ALI 80,78


NILAI
NIM[1] NAMA[0]
2 D3002 DIANA 90

NAMA[1] NILAI[0]
3 D3003 RINA 70,65 NIM[2]
NILAI[1]
54,34 NAMA[2]
4 D3004 BUDI
5 NIM[3]

5 D3005 DODI 76
Pendeklarasian array

Untuk mendeklarasikan array :


◦ tulis tipe datanya,
◦ diikuti dengan tanda kurung [],

Contoh:

int ages[ 3 ];
Inisiasi array
Diubah menjadi
int number1; int number [3];
int number2;
int number3;
number[0]=1;
number1 = 1; number[1]=2;
number2 = 2;
number3 = 3; number[2]=3;
Cara mengakses array
Contoh, pada array yang telah kita
deklarasikan tadi, kita mempunyai

//memberikan nilai d3010 kepada elemen


pertama array

nim[0] = “d3010”;
//mencetak elemen array yang terakhir
cout<<nim[3];
Pengaksesan Array
int number1; int number [3];
int number2;
int number3;
for (int i=0; i<=2;i+
cout<<number1 ; +)
cout<<number2 ;
{
cout<<number3 ;
cout<<number[i];
}
Postest – Modul 2

Link Postest:
https://new.edmodo.com/ 52
52
Latihan
Buatlah sebuah inisialisasi array untuk menyimpan 5 buah
nama mahasiswa dan 5 buah nilai mahasiswa seperti berikut !

NO Nama Nilai
1 luna 89,88
2 diana 65,33
3 dodit 90,00
4 rudi 100
-Cetaklah nilai dari array ke 3 !
- Cetaklah nama dari array ke 1 !
-Jumlahkan semua nilai dari semua array !
- Carilah rata-ratanya !
Smart, trustworthy, teamwork

Thank You!

Anda mungkin juga menyukai