Anda di halaman 1dari 21

LAPORAN

PRAKTIKUM STRUKTUR DATA

Disusun Oleh :

Nama : Yaser Hariz Dzulfiqar


NIM : 181011400983
Kelas : 04TPLP009 Reguler A

TEKNIK INFORMATIKA

FAKULTAS TEKNIK

UNIVERSITAS PAMULANG
Jl. Surya Kencana No. 1 Pamulang Telp (021) 7412566, Fax. (021) 7412566
Tangerang Selatan – Banten
KATA PENGANTAR

Puji dan syukur kami panjatkan kehadirat Tuhan Yang Maha Esa yang telah memberikan
Rahmat dan Hidayah-Nya sehingga laporan ini dapat terselesaikan tepat pada waktunya.
Penulisan laporan yang berjudul “Penulisan Laporan Praktikum Struktur Data ” ini bertujuan
untuk diajukan sebagai salah satu syarat untuk nilai Ujian Tengah Semester praktikum struktur
data.

Saya menyadari banyak kekurangan dalam penulisan laporan ini, Namun pembuatan
laporan ini dapat terselesaikan tepat pada waktunya. Saya berharap dengan penulisan laporan ini
dapat bermanfaat khususnya bagi saya sendiri dan bagi orang lain,serta semoga dapat menjadi
bahan untuk mengembangkan dan meningkatkan prestasi di masa yang akan datang.
DAFTAR ISI

KATA PENGANTAR--------------------------------------------------------------------------------------------------------------------------

DAFTAR ISI-------------------------------------------------------------------------------------------------------------------------------------

BAB I---------------------------------------------------------------------------------------------------------------------------------------------

1. Pertemuan 1 : Tipe Data-------------------------------------------------------------------------------------------------------------

2. Pertemuan 2 : Operasi pada C++---------------------------------------------------------------------------------------------------

3. Pertemuan 3 : Input Output---------------------------------------------------------------------------------------------------------

4. Pertemuan 4 : Array------------------------------------------------------------------------------------------------------------------

5. Pertemuan 5 : Stuck/Record--------------------------------------------------------------------------------------------------------

6. Pertemuan 6 : Stack------------------------------------------------------------------------------------------------------------------

7. Pertemuan 7 : Double Stack--------------------------------------------------------------------------------------------------------

BAB II--------------------------------------------------------------------------------------------------------------------------------------------

1. Pertemuan 1 : Tipe Data-------------------------------------------------------------------------------------------------------------

2. Pertemuan 2 : Aritmatika------------------------------------------------------------------------------------------------------------

3. Pertemuan 3 : Array------------------------------------------------------------------------------------------------------------------

4. Pertemuan 4 : Array Pointer--------------------------------------------------------------------------------------------------------

5. Pertemuan 5 : Stuck/Record--------------------------------------------------------------------------------------------------------

6. Pertemuan 6 : Stack------------------------------------------------------------------------------------------------------------------

7. Pertemuan 7 : Double Stack--------------------------------------------------------------------------------------------------------

Kesimpulan dan Saran--------------------------------------------------------------------------------------------------------------------------

Daftar Pustaka------------------------------------------------------------------------------------------------------------------------------------
BAB I
Pertemuan 1

TIPE DATA

Mendengar istilah tipe data mungkin menjadi pertanyaan besar bagi sebagian orang.
Bahkan bagi mereka yang berkecimpung dalam dunia database kemungkinan masih kurang
familiar dengan istilah yang satu ini. Hal ini sangatlah wajar dikarenakan penggunaan dari tipe
data sendiri lebih banyak pada bidang pemrograman komputer (programmer).

Pengertian Tipe Data

Tipe data merupakan setiap himpunann yang ada pada semua data tanpa terkecuali. Jadi
dengan memahami tipe data ini, kamu dapat menilai apa yang dimiliki dari data tersebut. Kamu
bakal lebih mudah menerjemahkan informasi yang didapat tanpa takut miskonsepsi.

Fungsi Tipe Data

Setiap tipe data jika kamu memahaminya dengan baik pasti mempunyai fungsi dan
kegunaan masing-masing. Baik dari sudut pandang programmer, masyarakat luas pastinya
mempunyai fungsi yang dapat membantu dengan adanya pemahaman baik dari adanya tipe data
ini. Lebih jelasnya, berikut fungsi tipe data:

1. Memberikan control atau batasan tersendiri bagi seorang programmer. Hal ini karena
tipe data telah ditentukan sebelumnya, sehingga programer tidak asal-asalan dalam memasukkan
data.

2. Menentukan memori yang digunakan dan Menentukan bilangan bulat serta bilangan
desimalnya.

Dalam dunia programer, fungsi tipe data di atas sangatlah vital. Bahkan tanpa ada tipe data akan
sulit sekali menentukan data yang ingin dimasukkan.

Jenis- Jenis Tipe Data


Pada umumnya, jenis-jenis tipe data dikelompokkan menjadi 2 bagian. Yang pertama
adalah tipe data primitive dan yang kedua adalah tipe data non primitive. Tipe data primitive
merupakan tipe data yang secara default telah terdefinisi / supported pada suatu bahasa
pemrograman atau bisa juga disebut sebagai tipe data dasar yang paling sering digunakan oleh
kebanyakan programmer, contohnya tipe data integer, float, char, boolean dan lain sebagainya.

Sedangkan tipe data non primitive merupakan tipe data yang secara default tidak terdefinisi oleh
suatu bahasa pemrograman dan didefinisikan sendiri programmer itu sendiri. Contoh yang paling
umum dari tipe data non primitive ini adalah strings dan array.

Oleh karena itu terdapat juga tipe data yang paling umum digunakan, seperti Integer,
Float dan lain –lain. Penjelasan lebih lengkapnya dapat anda simak dibawah ini :

1. Integer

Jenis tipe data yang satu ini dapat didefinisikan sebagai bilangan bulat. Artinya suatu program
yang menggunakan tipe data Integer ini tidak mendukung penggunaan huruf.

2. Float
Tipe data Float seringkali juga disebut tipe data bilangan real. Jika pada Integer tidak mengenal
karakter pecahan atau desimal, maka pada tipe data Float bisa dituliskan karakter desimal
(berkoma).

3. Char

Jenis tipe data berikutnya adalah Char, tipe data ini biasanya terdiri dari suatu angka, huruf,
tanda baca atau bahkan karakter khusus. Dibutuhkan 1 byte atau 8 bit ruang di dalam memori
agar dapat menyimpan sebuah karakter.

4. String

Jenis tipe data selanjutnya disebut String yang terdiri dari kumpulan karakter dengan panjang
tertentu, dan seringkali dianggap sebagai tipe data dasar.

5. Array

Terakhir adalah tipe data Array dan termasuk tipe data composite karena dapat menyimpan. Data
yang tersimpan dalam tipe data Array juga termasuk bertipe sama atau homogen.

Pertemuan 2

OPERATOR PADA C++

Operator merupakan simbol atau karakter yang biasa dilibatkan dalam program untuk
melakukan sesuatu operasi atau manipulasi, seperti penjumlahan, pengurangan dan lain-lain.

Operator dapat dikelompokkan menjadi beberapa bagian, yaitu :

1. Operator Aritmatika

Operator untuk operasi aritmatika yang tergolong sebagai operator Binary adalah :
Hirarki/Tingkatan Operator Aritmatika Di dalam suatu ekspresi/ungkapan aritmatika
dapat dijumpai beberapa operator aritmatika yang berbeda secara bersamaan. Urutan prioritas
pengerjaan operator aritmatika adalah sebagai berikut:

2. Operator Increment & Decrement

Pada pemrograman C++, menyediakan operator penambah dan pengurang (Increment &
Decrement)

Notasi ++ atau -- dapat diletakkan di depan atau di belakang variabel.

Contoh: A-- atau –A, ++A atau A++. Kedua bentuk penulisan di atas mempunyai arti yang
berbeda: Jika diletakkan di depan variabel, maka proses penambahan atau pengurangan akan
dilakukan sesaat sebelum atau langsung pada saat menjumpai ekspresi ini sehingga nilai variabel
tadi akan langsung berubah begitu ekspresi ini di temukan.

Jika diletakkan di belakang variabel, maka proses penambahan atau pengurangan akan dilakukan
setelah ekspresi ini dijumpai atau nilai variabel akan tetap pada saat ekspresi ini ditemukan.
3. Operasi Relasi (Perbandingan)

Operator relasi ini digunakan untuk membandingkan dua buah nilai. Hasil dari
perbandingan operator ini menghasilkan nilai numerik 1 (True) atau 0 (False).

4. Operator Logika

Operator logika digunakan untuk menghubungkan dua atau lebih ungkapan menjadi
sebuah ungkapan berkondisi.

Operator AND (&&)

Operator OR (||)
Operator NOT (!)

5. Operator Bitwise

Operator Bitwise digunakan untuk memanipulasi data dalam bentuk bit.

Pertemuan 3

Input & Output

Input dan Output (Masukan dan Keluaran) adalah aktifitas pengguna dengan program


pada komputer yang memungkinkan kita memberikan data kedalam program dan program itu
juga dapat mengeluarkan data untuk pengguna. Data tersebut dapat berupa text, file,
gambar, hardcopy dan lain-lain.

Pada ANSI C, operasi Input Output (IO Dasar pada layar CMD/Terminal) dilakukan


dengan menggunakan function yang ada pada pustaka  stdio , beberapa function yang tersedia
pada pustaka  stdio  untuk IO adalah  printf ,  scanf ,  putchar ,  puts  dan lain-lain.

Input (Masukan)

Input adalah interaksi pengguna (manusia) dengan program, memungkinkan program


dapat menerima data atau informasi dari pengguna, dalam bahasa pemrograman C++ kita dapat
melakukanya perintah masukan dengan menggunakan object  cin .

Untuk menggunakan cin kita membutuhkan Extraction Operator dengan tanda  >>  yang


diletakan di antara object  cin  dan ekspresi.
Contoh Penulisan :

cin >>variable;

Output (Keluaran)

Output (keluaran) adalah aktifitas program yang mendapatkan perintah untuk


memberikan informasi data kepada pengguna (manusia). Data itu biasanya merupakan hasil
olahan dari data sebelumnya. Dalam bahasa C++ kita dapat melakukan pengeluaran
menggunakan object  cout .

Untuk menggunakan object  cout  kita membutuhkan Insertion Operator dengan


tanda  <<  di antara object dengan ekspresi.

Contoh Penulisan

cout<<variable;

atau

cout<<”Hello World”;

atau

cout<<variable<<”Hello World”;
Pertemuan 4

Array

Array adalah tipe terstruktur yang terdiri dari sejumlah komponen-komponen dengan tipe
yang sama. Banyaknya komponen dalam suatu array adalah tetap dan lokasi dalam suatu array
ditunjukan oleh suatu INDEKS.

Pengalamatan array => Statik

Karakteristik pemakaian array :

• Jumlah elemen array terbatas

• Semua elemen array dapat diakses secara acak

• Panjang elemen sama

1. Array 1D
2. Array 2D

Deklarasi A[I]{J] I : Jumlah baris J : Jumlah kolom Urutan elemen dalam memori :

 Urutan baris per baris ( Row Major Order/RMO)

 Urutan kolom per kolom (Column Major Order/CMO)


Pertemuan 5

STRUCK/RECORD

Dalam database, data terdiri dari : field, record, dan file. Field : satuan terkecil dari data
Record : kumpulan dari field File : kumpulan dari record Dalam bahasa C, record disebut
structure.

Mendefinisikan record :

Yang ditulis dengan hurup tebal (struct, char, int) adalah kata kunci yang tidak boleh
diganti.

snilai, enilai : structure variable

NIM, Nama, Nilai : member

typenilai : structure tag


struktur dari snilai maupun enilai dapat diilustrasikan sbb:
Pertemuan 6

STACK

Pengertian

Stack berarti tumpukan. Jika dikaitkan dengan struktur data, Stack berarti sekumpulan
data yang organisasi atau terstruktur dengan sifat operasi penambahan ( Push ) dan pengambilan
(Pop) elemen melalui satu tempat (Top Of Stack) . “Top “ merupakan pintu untuk keluar
masuknya elemen – elemen stack. A, B, dan C merupakan suatu koleksi. Dari ilustrasi dapat
digambarkan bahwa C merupakan elemen yang terakhir memasuki stack namun pertama keluar
dari stack. Begitu sebaliknya dengan A. A merupakan elemen pertama yang memasuki tumpukan
namun terakhir saat keluar dari tumpukan. 

Single Stack atau Stack Tunggal adalah stack yang hanya terdiri dari satu koleksi. Bila
stack ini direpresentasikan dengan array, maka pengisian dan penghapusan harus dilakukan
bertahap dari indeks TOP-nya.
Proses :

a. AWAL (inisialisasi)

b. PUSH (Insert, Masuk, Simpan, Tulis)

c. POP (Delete, Keluar, Ambil, Baca/Hapus)

Algoritma dasarAWAL :

Algoritma dasar PUSH :

 Naikan Top dengan 1

 Isikan data kedalam elemen yang ditunjuk Top

Algoritma dasar POP :

 Copy data dari elemen yang ditunjuk Top kedalam suatu variabel

 Turunkan Top x = S[Top]

a. Algoritma lengkap PUSH


Periksa apakan Top < n – 1

 Jika ya,

o Naikan Top dengan 1

o Isikan data kedalam elemen yang ditunjuk Top  Jika tidak, o Cetak
komentar “Stack Penuh”

 Jika tidak, o Cetak komentar “Stack Penuh”

b. Algoritma lengkap POP

Periksa apakah Top > -1

 Jika ya,

o Copy data dari elemen yg ditunjuk Top ke suatu variabel

o Turunkan Top

 Jika tidak,

Pertemuan 7

Double Stack
Pengertian Stack

Dalam struktur stack menggunakan istilah :

a. Push : Simpan, masuk, insert, tulis

b. Pop   : Ambil, keluar, delete, baca

Ada 2 Jenis Stack :

a. Single Stack

b. Double Stack

Prinsip dan Konsep Double Stack

Double stack sering juga disebut stack ganda. Prinsip dari double stack adalah LIFO
(Last In First Out) baik untuk stack1 dan stack2.  Dalam double stack terjadi beberapa proses
diantaranya :
KESIMPULAN DAN SARAN

Kesimpulan

Membuat program sederhana mulai dari tipe data, aritmatika, array, array pointer,
stuck/record, stack, sampai dengan double stack.

Saran

Semoga laporan ini dibuat memenuhi syarat penilaian UTS Praktikum Struktur Data dan
bermanfaat.
DAFTAR PUSTAKA

belajarcpp. (2019, Februari 14). Dasar Input Output. Retrieved from belajarcpp:
https://www.belajarcpp.com/tutorial/cpp/dasar-input-output/

Desy. (2015, Februari 10). Pengertian Stuck dan Contoh Program C. Retrieved from
catatanbelajardesy: http://catatanbelajardesy.blogspot.com/2015/02/pengertian-stuck-dan-
contoh-program-c.html

JurnalPonsel. (2018, Agustus 9). Pengertian Tipe Data. Retrieved from Jurnal Ponsel:
https://www.jurnalponsel.com/pengertian-tipe-data/

Kuliahku. (2014, September 23). Single Stack dan Double Stack. Retrieved from kuliahku:
https://kuliahanku.wordpress.com/2014/09/23/single-stack-dan-double-stack/

N, A. S. (n.d.). Array. Tangerang: Teknik Informatika FT UNPAM.

N, A. S. (n.d.). Double Stuck. Tangerang: Teknik Informatika FT UNPAM.

N, A. S. (n.d.). Struck/Record. Tangerang: Teknik Informatika FT UNPAM.

N, A. S. (n.d.). Stuck. Tangerang: Teknik Informatika FT UNPAM.

nesia. (2019, May 3). Pengertian Tipe Data. Retrieved from nesabamedia:
https://www.nesabamedia.com/pengertian-tipe-data/

studylibid. (n.d.). Logika dan Algoritma. Retrieved from studylibid:


https://studylibid.com/doc/96274/logika-dan-algoritma

Anda mungkin juga menyukai