makalah struktur data
TRANSCRIPT
1
BAB I PENDAHULUAN
1.1 PENGERTIAN ALGORITMA
itinjau dari asal-usul katanya, kata Algoritma sendiri mempunyai sejarah yang
aneh. Orang hanya menemukan kata algorism yang berarti proses menghitung
dengan angka arab. Anda dikatakan algorist jika Anda menghitung menggunakan angka arab.
Para ahli bahasa berusaha menemukan asal kata ini namun hasilnya kurang memuaskan.
Akhirnya para ahli sejarah matematika menemukan asal kata tersebut yang berasal dari nama
penulis buku arab yang terkenal yaitu Abu Ja’far Muhammad Ibnu Musa Al-
Khuwarizmi. Al-Khuwarizmi dibaca orang barat menjadi Algorism.
Al-Khuwarizmi menulis buku yang berjudul Kitab Al Jabar Wal- Muqabala yang
artinya “Buku pemugaran dan pengurangan” (The book of restoration and reduction). Dari
judul buku itu kita juga memperoleh akar kata “Aljabar” (Algebra). Perubahan kata dari
algorism menjadi algorithm muncul karena kata algorism sering dikelirukan dengan
arithmetic, sehingga akhiran –sm berubah menjadi –thm. Karena perhitungan dengan angka
Arab sudah menjadi hal yang biasa, maka lambat laun kata algorithm berangsur-angsur
dipakai sebagai metode perhitungan (komputasi) secara umum, sehingga kehilangan makna
kata aslinya. Dalam bahasa Indonesia, kata algorithm diserap menjadi algoritma.
A. Definisi Algoritma
“Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang
disusun secara sistematis dan logis”. Kata logis merupakan kata kunci dalam algoritma.
Langkah-langkah dalam algoritma harus logis dan harus dapat ditentukan bernilai salah atau
benar.
Misalnya algoritma kuliah pagi, algoritma berangkat kerja dan lain-lain.
Dalam beberapa konteks, algoritma adalah spesifikasi urutan langkah untuk melakukan
pekerjaan tertentu. Pertimbangan dalam pemilihan algoritma adalah, pertama, algoritma
haruslah benar. Artinya algoritma akan memberikan keluaran yang dikehendaki dari sejumlah
masukan yang diberikan. Tidak peduli sebagus apapun algoritma, kalau memberikan keluaran
yang salah, pastilah algoritma tersebut bukanlah algoritma yang baik.
2
B. Analisis Suatu Algoritma
Untuk melihat faktor efisiensi & efektifitas dari algoritma tersebut), dapat dilakukan terhadap
suatu algoritma dengan melihat pada:
1. Waktu tempuh (Running Time) dari suatu algoritma: adalah satuan waktu yang
ditempuh atau diperlukan oleh suatu algoritma dalam menyelesaikan suatu masalah.
Hal-hal yang dapat mempengaruhi daripada waktu tempuh adalah:
Banyaknya langkah: Makin banyak langkah atau instruksi yang digunakan dalam
menyelesaikan masalah, maka makin lama waktu tempuh yang dibutuhkan dalam
proses tersebut
Besar dan jenis input data: Besar dan jenis input data pada suatu algoritma akan
sangat berpengaruh pada proses perhitugan yang terjadi. Jika jenis data adalah tingkat
ketelitian tunggal(Single precision), maka waktu tempuh akan menjadi relatif lebih
cepat dibandingkan dengan tingkat ketelitian ganda(double precesion)
Jenis operasi: Waktu tempuh juga dipengaruhi oleh jenis operasi yang digunakan.
Jenis operasi tersebut meliputi operasi matematika, nalar atau logika, atau yang
lainnya. Sebagai contoh, operasi perkalian atau pembagian akan memakan waktu
lebih lama dibandingkan operasi penjumlahan atau pengurangan.
Komputer dan kompilator: hal terakhir yang mempengaruhi waktu tempuh suatu
proses algoritma adalah komputer dan kompilatornya, walaupun sebenarnya faktor ini
diluar tahap rancangan atau tahap pembuatan algoritma yang efisien. Algoritma
dibuat untuk mencapai waktu tempuh yang seefektif dan seefisien mungkin, tetapi
kesemuanya itu akan sangat bergantung pada kemampuan komputer yang tentunya
harus sesuai dengan jumlah program atau langkah yang diperlukan oleh algoritma,
begitu juga dengan kompilator tersebut, misalnya PC XT 8086 akan kalah cepat
dibandingkan 8088 atau dengan AT 80286 atau 80386 atau 80486 dan seterusnya.
3
2. Jumlah Memori Yang digunakan: banyaknya langkah yang digunakan dan jenis
variabel data yang dipakai dalam suatu algoritma akan sangat mempengaruhi
penggunaan memori. Dalm hal ini, diharapkan dapat memperkirakan seberapa banyak
kebutuhan memori yang diperlukan selama proses berlangsung hingga proses selesai
dikerjakan. Dengan demikian, dapat disiapkan storage yang memadai agar proses
suatu algoritma berjalan tanpa ada hambatan atau kekurangan memori.
C. Sifat – Sifat Algoritma
A. Banyaknya langkah instruksi harus berhingga: pelaksanaan sebuah algoritma yang
terprogram haruslah dapat diakhiri atau diselesaikan melalui sejumlah langkah
operasional yang berhingga. Jika tidak demikian, kita tidak akan dapat mengharapkan
bahwa pelaksaan algoritma tersebut dapat menghasilkan suatu solusi yang baik.
B. Langkah atau instruksi harus jelas: artinya bahwa penulisa setiap langkah yang
terdapat didalam sebuah algoritma harus memiliki arti yang khusus atau spesifik
sehingga dapat dibedakan antara penulisan langkah untuk
komputer(program/pemrograman) dengan penulisan langkah bagi
manusia(pesudocode). Manusia akan lebih mudah memahami algoritma yang terdiri
atas simbol-simbol(Contoh: pembuatan algoritma dengan diagram alur/flowchart)
sedangkan komputer hanya membutuhkan sebuah penulisan algoritma dengan kode-
kode yang dituangkan dalam bahasa yang dimengerti oleh komputer itu
sendiri(bahasa pemrograman).
C. Proses harus jelas dan mempunyai batasan: rangkaian suatu proses yang berisi
langkah-langkah instruksi dari suatu algoritma yang akan dilaksanakn harus
ditetapkan dengna jelas, baik dan pasti sebab sebuah algoritma harus memiliki
instruksi dasar tertentu dimana setiap instruksi harus memiliki unsur pelaksana yang
berfungsi sebagai pemroses data yang akan dimasukkan dalam sebuah komputer.
Dengan demikian, sebuah algoritma harus ditulis dengan jelas tentang batasa-batasan
proses yang akan dilaksanakan oleh komputer.
4
D. Efektifitas: instruksi yang diberikan pada komputer agar hanya menjalankan atau
melaksanakan proses yang mampu dilaksanakannya. Yang dimaksud mampu adalah
bahwa suatu algoritma atau instruksi-instruksi dalam sebuah program hanya akan
dapat dilaksanakan jika informasi yang diberikan oleh instruksi-instruksi tersebut
lengkap, benar dan jelas.
E. Adanya batasan ruang lingkup, sebuah algoritma yang baik adalah hanya ditujukan
bagi suatu masalah tertentu saja. Susunana input harus ditentukan lebih dulu sebab
susunan tersebut enentukan sifat umum dari algoritma yang bersangkutan.
1.2 Dasar Program Pascal
A. Sejarah Perkembangan Pascal
Bahasa PASCAL pertama kali dikembangkan pada awal tahun 70-an oleh NICLAUS
WIRTH di Technical University, Zurich – Swiss. Nama PASCAL diambil dari nama seorang
ahli matematika bangsa Perancis, yaitu BLEISE PASCAL yang telah berjasa menemukan alat
hitung mekanis pertama didunia pada abad ke-17.Bahasa pemrograman ini termasuk kategori
Bahasa Tingkat Tinggi “High Level Language”. Instruksi-instruksi yang digunakan dalam
bahasa pemrograman ini sangat sistematis dan terstruktur. Pada Awalnya bahasa
pemrograman ini diperkenalkan dengan tujuan untuk menjelaskan masalah pemrograman
komputer bagi mahasiswa yang belajar pemrograman komputer. Ternyata dalam waktu
singkat, nahasa pemrograman ini menjadi salah satu bahasa yang sangat populer dikalangan
universitas, sehingga menjadi julukan sebagai bahasa universitas. Mulai dari awal
perkembangannya hingga saat ini banyak sekali jenis bahasa pemrograman ini, masing-
masing merupakan hasil pengembangannya, antara lain :
UCSD Pascal
Microsoft Pascal
Apple Pascal
Turbo Pascal. Dsb
Diantara versi-versi yang ada, Turbo Pascal merupakan versi yang sangat populer saat ini.
5
B. 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.
C. Kekurangan bahasa pascal :
Versi awal Pascal kurang cocok untuk aplikasi bisnis karena dukungan basisdata yang
terbatas.
Sintaks Pascal terlalu bertele-tele
Tidak mendukung pemrograman berorientasi objek
Pascal tidak fleksibel dan banyak kekurangan yang dibutuhkan untuk membuat
aplikasi yang besar.
6
BAB II PEMBAHASAN
2.1 MATRIKS
A. Definisi Matrik
atrik adalah sekumpulan informasi yang setiap datanya mengacu pada duah buah
indeks. Matrik disebut juga tabel lajur yang memiliki indeks baris dan indeks
kolom. Karena adanya dua buah indeks tersebut, matrik juga disebut larik dua dimensi. Istilah
dua dimensi karena data tersebut ada pada pertemuan baris dan kolom.
Contoh:
Tabel di samping disebut matrik 4×4, karena
memiliki 4 baris dan memiliki 4 kolom atau
larik 4×4.
Cara menentukan nilai elemen data tabel dengan matrik sebagai berikut:
Nilai Fisika punya Ahmad ada pada baris 1 kolom 1, maka matriksnya [1,1]
Nilai Biologi punya Joni ada pada baris 2 kolom 3, maka matriksnya [2,3]
Nilai Kimia punya Dede ada pada baris 4 kolom 2, maka matriksnya [4,2]
dst.
B. Keuntungan Struktur Data matriks :
a. Paling mudah pengoperasiannya.
b. Ekonomis dalam pemakaian memori bila semua elemen terisi.
c. Akses ke setiap elemen memerlukan waktu yang sama
C. Kerugian Struktur Data Matriks :
a. Memboroskan tempat jika banyak elemen yang tidak di gunakan.
Fisika Kimia Biologi Matematika
7
2.2 Contoh Penggunaan Matriks Pada Pascal
A. Perkalian Dua Buah Matriks
8
HASILNYA
9
b. Menampilkan Matriks
10
HASILNYA
11
BAB III PENUTUP
3.1 Kesimpulan
emajuan teknologi computer adalah sesuatu yang tidak bisa kita hindari dalam
kehidupan ini, karena kemajuan teknologi computer akan berjalan sesuai
dengan kemajuan ilmu pengetahuan. Perkembangan teknologi computer
memang sangat diperlukan, terutama dalam Bahasa pemrograman bagi setiap mahasiswa
STIMIK ataupun Universitas khususnya dalam bidang Komputer haruslah mengetahui
Bahasa Pemrograman. Setiap inovasi diciptakan untuk memberikan manfaat positif bagi
kehidupan manusia. Memberikan banyak kemudahan, serta sebagai cara baru dalam
melakukan aktifitas manusia. Khusus dalam bidang teknologi masyarakat sudah menikmati
banyak manfaat yang dibawa oleh inovasi-inovasi yang telah dihasilkan dalam dekade
terakhir ini. Namun manusia tidak bisa menipu diri sendiri akan kenyataan bahwa
teknologi mendatangkan berbagai efek negatif bagi manusia. Oleh karena itu untuk mencegah
atau mengurangi akibat negatif kemajuan teknologi, pemerintah di suatu negara harus
membuat peraturan-peraturan atau melalui suatu konvensi internasional yang harus
dipatuhi oleh pengguna teknologi.
3.2 Saran – Saran
ada zaman yang berkembang pesat dengan teknologi-teknologi canggih seperti
saat ini, kita harus pandai memanfaatkannya. Memang benar teknologi-
teknologi saat sekarang ini sangat mempengaruhi kehidupan kita, tapi jangan
sampai kita dipengaruhinya untuk hal-hal negatif, gunakanlah teknologi itu untuk hal-hal
yang bermanfaat dan hal-hal yang positif. Dan perlu adanya ketegasan dari pemerintah dalam
menangani penyimpangan-penyimpangan di bidang teknologi informasi dan komunikasi ini.
12
DAFTAR PUSTAKA
http://ruly.blogdetik.com/2009/10/04/pengertian-dasar-logika-dan-algoritma/
http://blog.uin-malang.ac.id/arief/tag/pengertian-algoritma/
Sumantri, Slamet, Pengantar Struktur Data, Elex Media Komputindo, 1912
Santoso, Insap, Struktur Data Dengan Turbo Pascal, Andi Offset, 1995