makalah struktur data

12
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.

Upload: anwar-as-syifa-alfatich

Post on 06-Aug-2015

217 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: makalah STRUKTUR DATA

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.

Page 2: makalah STRUKTUR DATA

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.

Page 3: makalah STRUKTUR DATA

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.

Page 4: makalah STRUKTUR DATA

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.

Page 5: makalah STRUKTUR DATA

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.

Page 6: makalah STRUKTUR DATA

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

Page 7: makalah STRUKTUR DATA

7

2.2 Contoh Penggunaan Matriks Pada Pascal

A. Perkalian Dua Buah Matriks

Page 8: makalah STRUKTUR DATA

8

HASILNYA

Page 9: makalah STRUKTUR DATA

9

b. Menampilkan Matriks

Page 10: makalah STRUKTUR DATA

10

HASILNYA

Page 11: makalah STRUKTUR DATA

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.

Page 12: makalah STRUKTUR DATA

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