Anda di halaman 1dari 19

LAPORAN PRAKTIKUM

ALGORITMA PEMROGRAMAN

DAN STRUKTUR DATA

Disusun Oleh:

Nama : Pinkan Zahara Damanik

NIM : 18221011

Prog.Studi : Teknik Informatika

Kelas : Pagi

Dosen Pembimbing : Anjar Pinem S.Kom

LABORATURIUM KOMPUTER

2019
A. DASAR TEORI

Sebagai mahasiswa yang mempelajari mata kuliah Algoritma Pemrograman &


Struktur data, maka terlebih dahulu kita harus memahami dasar teori dari Algoritma dan
Struktur data yang akan saya sajikan sebagai berikut.

1. Algoritma Pemrograman

Kata Algoritma berasal dari bahasa arab yaitu Algorism yang berarti proses
menghitung dengan angka arab. Sedangkan Algorist adalah orang yang menghitung
dengan menggunakan angka arab. Sebenarnya, Algoritma itu sendiri berasal dari nama
seorang ahli matematika dari Uzbekistan yaitu Abu Abdullah Muhammad Ibn Musa al-
Khwarizmi yang dibaca oleh orang barat menjadi Algorism.

Algoritma merupakan tahapan-tahapan untuk mencapai suatu hasil. Pada dasarnya


algoritma tidak selalu berhubungan dengan ilmu komputer, contohnya ketika membuat
kopi diperlukan tahapan-tahapan atau proses agar kopi tersebut jadi dan layak diminum.

Pengertian algoritma menurut ilmu komputer adalah urutan-urutan yang logis dan
tepat untuk memecahkan permasalahan yang menggunakan Komputer dengan bahasa
pemrograman yang telah ditentukan seperti bahasa pascal, Visual Basic, C++, atau yang
lainnya. Untuk membuat sebuah program, seseorang harus memiliki daya pikir yang bagus.
Dan untuk menghasilkan sebuah program yang berbeda dengan yang lainnya, maka orang
tersebut harus memiliki kreativitas.

2. Struktur Data

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, meliputi:


a) Struktur data sederhana, misalnya array dan record.
b) Struktur data majemuk, yang terdiri dari:
Linier :Stack,Queue,sertaListdan 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.
1. TYPE DATA PASCAL

Pascal adalah bahasa pemrograman yang pertama kali di buat oleh Profesor Niklaus
Wirth, seorang anggota International Federation of Information Processing (IFIP) pada
tahun 1971. Dengan mengambil nama dari matematikawan Prancis, Blaise Pascal, yang
pertama kali menciptakan mesin penghitung, Profesor Niklaus Wirth membuat bahasa
Pascal ini sebagai alat bantu untuk mengajarkan konsep pemrograman komputer kepada
mahasiswanya. Selain itu, Profesor Niklaus Wirth membuat Pascal juga untuk melengkapi
kekurangan-kekurangan bahasa pemrograman yang ada pada saat itu.

Kelebihan dari bahasa pemrograman Pascal adalah:

 Tipe Data Standar, tipe-tipe data standar yang telah tersedia pada kebanyakan
bahasa pemrograman. Pascal memiliki tipe data standar: boolean, integer, real,
char, string,
 User defined Data Types, programmer dapat membuat tipe data lain yang
diturunkan dari tipe data standar.
 Strongly-typed, programmer harus menentukan tipe data dari suatu variabel, dan
variabel tersebut tidak dapat dipergunakan untuk menyimpan tipe data selain dari
format yang ditentukan.
 Terstruktur, memiliki sintaks yang memungkinkan penulisan program dipecah
menjadi fungsi-fungsi kecil (procedure dan function) yang dapat dipergunakan
berulang-ulang.
 Sederhana dan Ekspresif, memiliki struktur yang sederhana dan sangat mendekati
bahasa manusia (bahasa Inggris) sehingga mudah dipelajari dan dipahami.

Dalam bahasa Pascal terdapat beberapa jenis tipe data yang bisa digunakan untuk sebuah
variabel atau konstanta pada program. Tipe Data tersebut antara lain adalah sebagai
berikut:

Tipe Data Deskripsi (range variabel)


Byte angka dari 0 sampai 255
Integer angka dari -32768 sampai 32767
Real semua nilai pecahan dari 1E-38 sampai
1E+38
Boolean nilai TRUE atau FALSE
Char semua karakter dari tabel ASCII
String semua huruf, spasi, frasa
2. ARRAY, SATCK & POINTER

 Array

Array adalah sekumpulan variabel yang memiliki tipe data yang sama dan
dinyatakan dengan nama yang sama. Array merupakan konsep yang penting
dalam pemrograman, karna array memungkinkan untuk menyimpan data
maupun referensi objek dalam jumlah banyak dan terindeks. Array
menggunakan indeks integer untuk menentukan urutan elemen-elemennya,
dimana elemen pertamanya dimulai dari indeks 0,elemen kedua memiliki indeks
1, dan seterusnya.

Mendeklarasikan variabel array dengan tipe data yang diinginkan dengan


cara yang hampir sama dengan variabel biasa. Misalnya untuk mendeklarasikan
variabel bertipe integer, dapat dilakukan dengan cara : int [ ] bilangan; atau int
bilangan [ ];
Jadi perbedaan utama pendeklarasian variabel array dengan variabel biasa adalah
adanya tanda kurung [ ] di akhir tipe data atau di akhir nama variabel array. Pada
tahap pendeklarasian variabel array ini belum ada alokasi memory untuk
menyimpan data.
Setelah mendeklarasikan array, kita perlu mendefenisikan array, dalam arti
menentukan besar array yang diinginkan. Misalnya dengan cara : bilangan =
new int [5];

Array memiliki ukuran yang tetap dalam arti tidak dapat membesar atau
mengecil ukurannya setelah didefenisikan. Setelah didefenisikan, maka variabel
dengan nama bilangan dapat menyimpan 5 nilai integer yang dapat diakses
melalui indeks 0 sampai indeks 4. Setelah pendefenisian array, maka memori
akan dialokasikan untuk menyimpan data dari array. Besar memori yang
dialokasikan tergantung dari tipe data variabel array dan jumlah elemen array
yang didefenisikan.

 Stack
Stack (tumpukan) adalah salah satu struktur data yang dapat digunakan
untuk menyimpan data. Ide penyimpanan dari metode Stack ini adalah dengan
melakukan penyimpanan dan pengambilan data pada bagian teratas dari tumpukan.
Hal ini sangat bermanfaat apabila kita membutuhkan program yang berkaitan
dengan catatan penggunaan (history).
private String[] stack;
private int max;
private int top;
Kode diatas merupakan bagian dari pendeklarasian array dan variabel. Array akan
digunakan sebagai stack, variabel max sebagai batas kapasitas array dan variabel
top sebagai pointer data yang paling akhir.
Stack bersifat LIFO (Last In First Out) yaitu yang terakhir masuk ke dalam
stack menjadi yang pertama keluar dari stack. Stack merupakan mekanisme penting
pada sistem komputer, biasanya diimplementasikan dengan memori utama bukan
memori tersendiri. Untuk itu diperlukan register khusus yang menunjuk stack.
Dengan register ini dimungkinkan instruksi yang tak memerlukan alamat karena
alamat operan ditunjuk register penunjuk stack. Operasi-operasi terhadap stack
adalah:
 Inisialisasi : digunakan untuk mengosongkan stack.
 Push : digunakan untuk menambah item pada stack pada tumpukan paling
atas.
 Pop : digunakan untuk mengambil item pada stack pada tumpukan paling
atas.
 IsEmpty : fungsi yang digunakan untuk mengecek apakah stack sudah
kosong.
 IsFull : fungsi yang digunakan untuk mengecek apakah stack sudah penuh.

 Pointer
Pointer adalah suatu tipe data dalam Pascal yang berfungsi untuk menunjuk
dan menyimpan alamat memori. Dalam penulisan pointer biasa digambar dengan
panah, sedangkan bagian memori yang ditunjuk digambar dengan kotak, dan isinya
ditulis di dalam kotak.
Bentuk umum dari deklarasi tipe pointer:
Untuk pointer bertipe: <nama_var> : ^<tipe_data>;
Untuk pointer tidak bertipe: <nama_var> : pointer;
Ada dua macam pointer:
 typed(tertentu): merupakan pointer yang menunjuk pada tipe data tertentu
pada variable.
 generic(umum): merupakan pointer yang tidak menunjuk pada tipe data
tertentu pada variable.

3. OPERATOR
Operator adalah instruksi yang diberikan untuk mendapatkan hasil dari proses
tersebut. Biasanya operator berupa karakter matematis atau perintah singkat sederhana.

Jenis-Jenis Operator dalam pascal

1) Operator Assignment
Operator assignment adalah operator yang digunakan untuk memberikan nilai ke
dalam suatu variabel. Di dalam pascal hanya terdapat 1 operator assignment,
yakni ‘:=’.
Contoh: a:=’pinkan’
2) Operator Aritmatika
Operator aritmatika adalah operator yang biasa kita temukan untuk operasi
matematika.
3) Operator String
Di dalam pascal, hanya terdapat 1 jenis operator string, yakni tanda tambah ‘ + ’
yang digunakan untuk menyambung string (concatenated).
Contoh: a:=’pinkan’+’zahara’
4) Operator Perbandingan / Relasional
Operator perbandingan digunakan untuk membandingkan 2 buah angka, apakah
angka tersebut sama besar, lebih kecil, lebih besar, dll. Nilai dari operator
perbandingan ini adalah True atau False (boolean).
5) Operator Logika / Boolean
Operator logika digunakan untuk menghasilkan nilai boolean true atau false dari 2
kondisi.
6) Operator Bitwise
Operator bitwise mirip dengan operator logika / boolean, tapi dilakukan di level bit.
7) Operator Set / Himpunan
Operator set khusus digunakan untuk tipe data set (himpunan).
8) Operator Address (Pointer)
Operator address khusus digunakan untuk tipe data pointer. Berfungsi untuk
mencari alamat memory dari sebuah variabel.

4. IF THEN

If Then merupakan bentuk dari algoritma notasi percabangan yang artinya notasi
yang akan menyelesaikan suatu kasus dengan beberapa alternatif pelaksanaan.
Statemen IF-THEN digunakan untuk menyeleksi suatu kondisi, jika kondisi yang
diseleksi terpenuhi, maka statemen yang mengikuti THEN akan diproses. Tetapi, apabila
kondisi tidak terpenuhi, maka yang akan diproses adalah statemen berikutnya.
Fungsi IF memungkinkan Anda untuk membuat perbandingan logis antara nilai dan apa
yang diharapkan dengan menguji kondisi dan mengembalikan hasil jika True atau False.

5. SWITCH (CASE)
Switch Case merupakan salah satu bentuk percabangan, bentuk dari Switch-
case merupakan pernyataan yang dirancang khusus untuk menangani pengambilan
keputusan yang melibatkan sejumlah atau banyak alternatif penyelesaian.
Switch case merupakan perluasan dari struktur IF hanya disediakan dua
pilihan (berdasakan kondisi logikanya) maka dalam struktur case dimungkinkan
untuk memilih satu pilihan diantara banyak pilihan yang ada.
Switch case digunakan untuk percabangan yang kondisinya banyak.
Sedangkan percabangan if hanya bisa untuk menangani dua kondisi yaitu TRUE
atau FALSE. Karena pada pernyataan CASE lebih jelas dan lebih mudah untuk
dipahami serta lebih cepat pembuatannya daripada menggunakan pernyataan IF-
THEN. Tapi jika kita ingin melakukan percabangan untuk peringkat nilai, contoh
nilai A = sempurna, B = bagus, C = sedang, D = kurang, akan ribet jika kita
menggunakan percabangan if untuk menyelesaikan kondisi tersebut.
SWITCH-CASE tidak dianjurkan pada pilihan yang melibatkan jangkauan (range)
tetapi dianjurkan pada pilihan berupa konstanta dan banyak misalnya untuk
memilih menu.
Fungsi penggunaan switch-case:
a) Digunakan ketika kita ingin menuliskan percabangan ataupun pengambilan
keputusan dengan sangat banyak pilihan
b) Digunakan ketika kita ingin menuliskan percabangan multi arah
c) Instruksi switch case digunakan sebagai instruksi pemilihan dimana aksi
yang akan dilakukan bergantung pada nilai dari satu macam variabel saja.

6. PERULANGAN (LOOPING)
Looping berasal dari kata Loop, artinya lingkaran. Lingkaran memiliki ciri
melingkar yang memiliki arti kembali lagi, mengulang.
Looping adalah Suatu intruksi untuk membentuk aksi kerja secara berulang
pada blok yang sama, dimana didalam blok yang akan diulang ada terdapat
statement atau pernyataan.
Didalam looping, ada 3 bagian yang mutlak harus ada agar terjadi perulangan yang
diinginkan yang berlaku pada 3 perulangan yang sering digunakan yaitu For, Do
While, While yaitu :
 Inisialisasi : adalah untuk menyatakan keadaan awal dari variable control
pada perulangan.
 Kondisi (Ekspresi Perbandingan) : adalah merupakan ekspresi yang berguna
untuk mengakhiri perulangan.
 Iterasi : adalah bagian untuk mengatur/perubahan nilai dari variable control,
iteriasi bisa berupa increment ( nilai dari inisialisai bertambah/menaik) atau
Decrement (nilai dari inisialisasi berkurang/menurun).
Pada umumnya setiap looping atau perulangan memiliki fungsi yaitu untuk
mengeksekusi statement yang ada didalam blok loop secara berulang-ulang.
Statement/pernyataan adalah merupakan intruksi atau perintah atau pernyataan
yang akan dijalankan selama proses perulangan berjalan.
Macam-Macam Looping
 For...Do
Perulangan for...do digunakan untuk mengulang statement berulang kali
sejumlah yang ditentukan. Ada tiga bentuk perulangan for...do, yaitu:
1) For...Do positif, yaitu perulangan yang bersifat perhitungan kecil ke
perhitungan besar (pertambahan positif).
2) For...Do negatif, yaitu perulangan yang bersifat perhitungan besar ke
perhitungan kecil (pertambahan negatif).
3) For...Do bersarang, yaitu perulangan yang ada di dalam perulangan
lainnya. Perulangan yang lebih dalam akan diproses telebih dahulu
hingga habis kemudian perulangan yang lebih luar bertambah atau
berkurang dan memproses kembali perulangan yang paling dalam.
 While...Do
While...Do adalah perulangan bersyarat yang paling umum digunakan.
Perintah ini akan terlebih dahulu memeriksa kebenaran nilai yang
diujikan, kemudian menjalankan dan mengulang perintah selama hasil
pengujian bernilai benar.
 Repeat...Until
Perulangan ini mirip dengan perulangan while...do , bedanya pada
perulangan repeat...until akan terus dilakukan apabila kondisi yang
didefinisikan masih bernilai false. Dengan kata lain perulangan ini
hanya akan dihentikan apabila kondisi bernilai benar/true. Dalam
perulangan ini kondisi akan di tuliskan di akhir blok. Hal ini
menyebabkan statement minimal akan dieksekusi satu kali, walaupun
ternyata kondisi yang didefenisikan terpenuhi ataupun bernilai true.
Perulangan jenis ini pada umumnya digunakan untuk kasus-kasus
perulangan tidak bergantung pada kondisi awal.
7. PROCEDURE & FUNCTION
Procedure adalah sub program yang digunakan untuk melakukan proses
tertentu dan tidak mengembalikan nilai secara langsung. Nilai dalam procedure
bisa disimpan dalam database sebagai objek skema sehingga suatu procedure
bisa digunakan berulangkali tanpa harus melakukan parsing dan compile ulang.
Semua deklarasi dalam procedure bersifat lokal sehingga hanya bisa digunakan
oleh procedure itu saja, sedangkan deklarasi di dalam program utama bersifat
global sehingga dapat dikenali di seluruh bagian program.
Function merupakan sebuah kumpulan pernyataan yang akan
mengembalikan sebuah nilai balik pada pemanggilnya. Nilai yang dihasilkan
function harus ditampung kedalam sebuah variabel.
Didalam function harus ada nama fungsi di dalam tubuh fungsi karena
digunakan untuk menyimpan output.
B. PRAKTIKUM
Dalam praktikum ini saya akan melampirkan contoh-contoh dari materi yang telah
saya jabarkan dalam pascal.
1. Array, Stack, Pointer
 Array
Berikut contoh array dalam bahasa pemrograman pascal:

 Stack
Berikut contoh stack dalam bahasa pemrograman pascal:
 Pointer

2. Operator
Berikut contoh operator dalam bahasa pascal:

3. If Then
Berikut contoh if then dalam bahasa pemrograman pascal:

4. Switch (Case)
Berikut contoh case dalam bahasa pemrograman pascal:
5. Perulangan (Looping)
Berikut contoh looping dalam bahasa pemrograman pascal:
a. For...Do

b. While...Do
c. Repeat...Until
6. Procedure & Function
a. Procedure

b. Function
C. KESIMPULAN
1. Algoritma adalah urut-urutan yang logis dan tepat untuk memecahkan
permasalahan yang menggunakan Komputer dengan bahasa pemrograman yang
telah ditentukan seperti bahasa pascal, Visual Basic, C, atau yang lainnya.
2. Struktur data adalah cara menyimpan atau merepresentasikan data didalam
komputer agar bisa dipakai secara efisien. Sedangkan data adalah representasi dari
fakta dunia nyata.
3. Pascal merupakan salah satu bahasa pemrograman komputer yang digunakan untuk
mempelajari algoritma dan pemrograman bagi pemula di bidang akademis.
4. Beberapa tipe data dalam pascal: byte, boolean, integer, real, char & string.
5. Array adalah sekumpulan variabel yang memiliki tipe data yang sama dan
dinyatakan dengan nama yang sama.
6. Stack (tumpukan) adalah salah satu struktur data yang dapat digunakan untuk
menyimpan data.
7. Stack bersifat LIFO (Last In First Out) yaitu yang terakhir masuk ke dalam stack
menjadi yang pertama keluar dari stack.

8. Pointer adalah suatu tipe data dalam Pascal yang berfungsi untuk menunjuk dan
menyimpan alamat memori.

9. Operator adalah instruksi yang diberikan untuk mendapatkan hasil dari proses
tersebut.

10. If Then merupakan bentuk dari algoritma notasi percabangan yang artinya notasi
yang akan menyelesaikan suatu kasus dengan beberapa alternatif pelaksanaan.
11. Switch case merupakan perluasan dari struktur IF hanya disediakan dua pilihan
(berdasakan kondisi logikanya) maka dalam struktur case dimungkinkan untuk
memilih satu pilihan diantara banyak pilihan yang ada.
12. Looping adalah Suatu intruksi untuk membentuk aksi kerja secara berulang pada
blok yang sama, dimana didalam blok yang akan diulang ada terdapat statement atau
pernyataan.

13. Procedure adalah sub program yang digunakan untuk melakukan proses tertentu dan
tidak mengembalikan nilai secara langsung.

14. Function merupakan sebuah kumpulan pernyataan yang akan mengembalikan


sebuah nilai balik pada pemanggilnya.

DAFTAR PUSTAKA

 http://mfachrizal17.blogspot.com/2017/06/makalah-algoritma-dan-struktur-data-
1.html
 https://id.wikipedia.org/wiki/Pascal_(bahasa_pemrograman)
 https://medium.com/easyread/memahami-konsep-stack-secara-sederhana-
bd4409ec560c
 http://belajarpemrograman-programmer.blogspot.com/2012/03/pengertian-array-
contoh-program-array.html
 https://queenn.wordpress.com/
 http://risaryss.blogspot.com/2013/04/pointer-dalam-pascal.html
 https://www.duniailkom.com/tutorial-belajar-pascal-jenis-jenis-operator-dalam-
bahasa-pemrograman-pascal/
 https://www.nusinau.com/struktur-if-then
 https://www.duniailkom.com/tutorial-belajar-pascal-struktur-percabangan-case-
dalam-pascal/
 http://wewowgtu.blogspot.com/2015/01/percabangan-if-dan-switch-case-pada.html
 http://weweweprodiinformatika.blogspot.com/2015/12/switch-case.html
 https://www.anakit.id/2019/02/pengertian-looping.html

Anda mungkin juga menyukai