Rabu, 16 November 2011

ALGORITMA DAN BAHASA PASCAL

1. Algoritma
1.1 Asal Usul Kata Algoritma
Kata algoritma berasal dari nama penulis buku arab yang terkenal yaitu Abu Ja’far Muhammad Ibnu Musa Al-Khawarizmi. Dia adalah penulis Kitab Al Jabar Wal Muqabala. Kata Al-Khawarizmi dibaca orang barat menjadi Algorism. Kata Algorism berarti proses menghitung dengan angka arab. Seseorang dikatakan algorist jika orang tersebut menggunakan angka arab. Kata algorism lambat laun menjadi algoristhm disebabkan kata algorism sering dikelirukan dengan kata arithmetic sehingga akhiran –sm berubah menjadi –thm. Kata algorithm diserap ke dalam bahasa Indonesia menjadi algoritma.

1.2 Definisi Algoritma
Algoritma memiliki beberapa definisi, di antaranya :
 Urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis.
 Kumpulan urutan perintah yang menentukan operasi-operasi tertentu yang diperlukan untuk menyelesaikan suatu masalah ataupun mengerjakan suatu tugas.
 Deretan langkah-langkah komputasi yang mentransformasikan data masukan menjadi keluaran.
 Deretan instruksi yang jelas untuk memecahkan masalah, yaitu untuk memperoleh keluaran yang diinginkan dari suatu masukan dalam jumlah waktu yang terbatas.
 Prosedur komputasi yang terdefinisi dengan baik yang menggunakan beberapa nilai sebagai masukan dan menghasilkan beberapa nilai yang disebut keluaran.
 Urutan logis pengambilan putusan untuk pemecahan masalah. (Kamus Besar Bahasa Indonesia terbitan Balai Pustaka 1988).

Kata logis disini berarti benar sesuai dengan logika manusia. Untuk menjadi sebuah algoritma, urutan langkah yang ditempuh untuk menyelesaikan masalah harus memberikan hasil yang benar.
Pembuatan algoritma harus selalu dikaitkan dengan :
a. Kebenaran algoritma, yakni bila program selesai maka hasilnya selesai juga benar.
b. Kompleksitas – lama dan jumlah – waktu proses dan penggunaan memori.

Contoh :
ALGORITMA mendapatkan air dengan volume 4 liter.
{diberikan dua buah ember, masing-masing bervolume 5 liter dan 3 liter}
1. Isi penuh ember 3-liter dengan air. {ember 3-liter berisi 3 liter air}
2. Tuangkan air dari ember 3-liter ke dalam ember 5-liter. {ember 5-liter sekarang berisi 3 liter air}
3. Isi penuh ember 3-liter dengan air. {ember 3-liter berisi 3 liter air}
4. Tuangkan air dari ember 3-liter ke dalam ember 5-liter hingga penuh. {di dalam ember 3-liter sekarang tersisa 1 liter air}
5. Buang seluruh air dari ember 5-liter. {ember 5-liter kosong}
6. Tuangkan air dari ember 3-liter ke dalam ember 5-liter. {ember 5-liter sekarang berisi 1 liter air}
7. Isi penuh ember 3-liter dengan air. {ember 3-liter berisi 3 liter air}
8. Tuangkan air dalam ember 3-liter ke dalam ember 5-liter. {ember 5-liter sekarang berisi 1 + 3 = 4 liter air}

ALGORITM mengiri surat
{Ada dua orang A dan B ingin mengirimkan surat yang berisi informasi bahwa A berhasil lulus UMPTN dan A ingin memastikan bahwa informasi tersebut sampai ke B}
1. Tulis surat kemudian kirimkan ke B.
2. Mulai menghitung waktu tunggu dari 0.
3. Cek datangnya surat balasan, jika sudah data maka cek apakah di dalam surat balasan terdapat informasi bahwa B menerima surat A. jika ada maka stop
4. Cek lamanya waktu tunggu, jika sudah 1 minggu maka lanjutkan ke langkah 1.
5. Lanjutkan ke langkah 3.

1.3 Beda Algoritma dan program
Program adalah kumpulan pernyataan komputer, sedangkan metode dan tahapan sistematis dalam program adalah algoritma, program ditulis dengan menggunakan bahasa pemrograman. Jadi bisa disebut bahwa program adalah suatu implementasi dari bahasa pemrograman.
Beberapa pakar member formula bahwa :
Program = Algoritma + Bahasa (struktur data)
Bagaimanapun juga struktur data dan algoritma berhubungan sangat erat pada sebuah program. Algoritma yang baik tanpa pemilihan struktur data yang tepat akan membuat program menjadi kurang baik, demikian juga sebaliknya.
Pembuatan algoritma mempunyai banyak keuntungan di antaranya :
1. Pembuatan atau penulisan algoritma tidak tergantung pada bahasa pemrograman manapun, artinya penulisan algoritma independen dari bahasa pemrograman dan komputer yang melaksanakannya.
2. Notasi algoritma dapat diterjemahkan ke dalam berbagai bahasa pemrograman.
3. Apapun bahasa pemrogramannya, output yang akan dikeluarkan sama Karen algoritmanya sama.

Beberapa hal yang perlu diperhatikan dalam membuat algoritma :
1. Teks algoritma berisi deskripsi langkah-langkah penyelesaian masalah. Deskripsi tersebut dapat ditulis dalam notasi apapun asalkan mudah dimengerti dan dipahami.
2. Tidak ada notasi yang baku dalam penulisan teks algoritma seperti notasi bahasa pemrograman. Notasi yang digunakan dalam menulis algoritma disebut notasi algoritmik.
3. Setiap orang dapat membuat aturan penulisan dan notasi algoritmik sendiri. Hal ini dikarenakan teks algoritma tidak sama dengan teks program. Namun, supaya notasi algoritmik mudah ditranslasikan ke dalam notasi bahasa pemrograman tertentu, maka sebaiknya notasi algoritmik tersebut berkorespondensi dengan notasi bahasa pemrograman secara umum.
4. Notasi algoritmik bukan notasi bahasa pemrograman, karena itu pseudocode dalam notasi algoritmik tidak dapat dijalankan oleh komputer. Agar dapat dijalankan oleh komputer, pseudocode dalam notasi algoritmik harus ditranslasikan atau diterjemahkan ke dalam notasi bahasa pemrograman yang dipilih. Perlu diingat bahwa orang yang menulis program sangat terikat dalam aturan tata bahasanya dan spesifikasi mesin yang menjalannya.
5. Algoritma sebenarnya digunakan untuk membantu kita dalam mengkonversikan suatu permasalahan ke dalam bahasa pemrograman.
6. Algoritma merupakan hasil pemikiran konseptual, supaya dapat dilaksanakan oleh komputer, algoritma harus ditranslasikan ke dalam notasi bahasa pemrograman. Ada beberapa hal yang harus diperhatikan pada translasi tersebut, yaitu:
a. Pendeklarasian variabel
Untuk mengetahui dibutuhkannya pendeklarasian variabel dalam penggunaan bahasa pemrograman apabila tidak semua bahasa pemrograman membutuhkannya.
b. Pemilihan tipe data
Apabila bahasa pemrograman yang akan digunakan membutuhkan pendeklarasian variable maka perlu hal ini dipertimbangkan pada saat pemilihan tipe data.
c. Pemakaian instruksi-instruksi
Beberapa instruksi mempunyai kegunaan yang sama tetapi masing-masing memiliki kelebihan dan kekurangan yang berbeda.
d. Aturan sintaksis
Pada saat menuliskan program kita terikat dengan aturan sintaksis dalam bahasa pemrograman yang akan digunakan.
e. Tampilan hasil
Pada saat membuat algoritma kita tidak memikirkan tampilan hasil yang akan disajikan. Hal-hal teknis ini diperhatikan ketika mengkonversikannya menjadi program.
f. Cara pengoperasian compiler atau interpreter.
Bahasa pemrograman yang digunakan termasuk dalam kelompok compiler atau interpreter.

Algoritma dan program yang baik, bercirikan :
a. Tepat sasaran: memenuhi spesifikasi pekerjaan dan bekerja sesuai tujuan.
b. Flexible dan portable: - Flexible untuk dikembangkan lebih lanjut – Portable untuk digunakan pada berbagai sistemdan mesin.
c. Bersih dari kesalahan sistem ataupun logic.
d. Murah :
d.1 Efisien dalam penggunaan piranti memori dan penyimpanan lainnya.
d.2 Cepatwaktu pelaksanaannya.
e. Didokumentasi dengan baik untuk pengoperasian, pemeliharaan dan pengembangan.
f. Algoritma merupakan pemberian (description) pelakasanaan suatu proses. Sebuah proses dikerjakan oleh pemroses mengikuti algoritma yang sudah dibuat. Algoritma merupakan urutan lankah instruksi yang logis. Setiap langkah instruksi mengerjakan suatu aksi. Bila suatu aksi dilaksanakan, maka operasi atau sejumalh operasi yang bersesuaian dengan aksi itu dikerjakan oleh pemroses.

1.4 Algoritma Merupakan Jantung Ilmu Informatika
Algoritma adalah jantung ilmu komputer atau informatika. Banyak cabang ilmu komputer yang mengarah ke dalam terminologi algoritma. Namun, jangan beranggapan algoritma selalu identik dengan ilmu komputer saja. Dalam kehidupan sehari-hari pun banyak terdapat proses yang dinyatakan dalam suatu algoritma. Cara-cara membuat kue atau masakan yang dinyatakan dalam suatu resep juga dapat disebut sebagai algoritma. Pada setiap resep selalu ada urutan langkah-langkah membuat masakan. Bila langkah-langkahnya tidak logis, tidak dapat dihasilkan masakan yang diinginkan. Ibu-ibu yang mencoba suatu resep masakan akan membaca satu per satu langkah-langkah pembuatannya lalu ia mengerjakan proses sesuai yang ia baca. Secara umum, pihak (benda) yang mengerjakan proses disebut pemroses (processor). Pemroses tersebut dapat berupa manusia, komputer, robot atau alat-alat elektronik lainnya. Pemroses melakukan suatu proses dengan melaksanakan atau “mengeksekusi” algoritma yang menjabarkan proses tersebut.
Algoritma adalah deskripsi dari suatu pola tingkah laku yang dinyatakan secara primitif yaitu aksi-aksi yang didefenisikan sebelumnya dan diberi nama, dan diasumsikan sebelumnya bahwa aksi-aksi tersebut dapat kerjakan sehingga dapat menyebabkan kejadian.
Melaksanakan algoritma berarti mengerjakan langkah-langkah di dalam algoritma tersebut. Pemroses mengerjakan proses sesuai dengan algoritma yang diberikan kepadanya. Juru masak membuat kue berdasarkan resep yang diberikan kepadanya, pianis memainkan lagu berdasarkan papan not balok. Karena itu suatu algoritma harus dinyatakan dalam bentuk yang dapat dimengerti oleh pemroses. Jadi suatu pemroses harus:
1. Mengerti setiap langkah dalam algoritma.
2. Mengerjakan operasi yang bersesuaian dengan langkah tersebut.

1.5 Notasi Algoritmik
Penulisan algoritma tidak bergantung dari spesifikasi bahasa pemrograman dan komputer yang mengeksekusinya. Notasi algoritma bukan notasi bahasa pemrograman tetapi dapat diterjemahkan ke dalam berbagai bahasa pemrograman.
Notasi algoritma dapat berupa :
1. Untaian kalimat deskriptif
Contoh:
Algoritma kelulusan_mahasiswa
Diberikan nama dan nilai mahasiswa, jika nilai tersebut lebih besar atau sama dengan 60 maka mahasiswanya tersebut dinyatakan lulus jika nilai lebih kecil dari 60 maka dinyatakan tidak lulus.

DESKRIPSI :
Baca nama dan nilai mahasiswa.
Jika nilai >=60 maka
Keterangan = lulus
Tetapi jika
Keterangan = tidak lulus
tulis nama dan keterangan

2. Diagram Flowchart (Diagram Alir)
Diagram flowchart merupakan bentuk grafis/visual dari algoritma. Bentuk umum dari simbol-simbol dalam diagram alir :


Simbol untuk mulai (start) atau akhir (end) program

Simbol untuk pembacaan (read) data atau penulisan hasil (write) pada layar

Symbol untuk suatu proses terhadap data pada program

Symbol untuk penghubung antar aktivitas

Symbol untuk pernyataan pilihan (optional) pada program

Sub program

Konektor, symbol untuk memutus aktivitas karena keterbatasan media kertas

komentar


3. Pseudo-code
Pseudo-code adalah notasi yang mirip dengan notasi bahasa pemrograman tingkat tinggi, khususnya bahasa pascal dan C. lebih tepatnya pseudo-code adalah campuran antara bahasa alami dengan bahasa pemrograman. Namun, tidak seperti bahasa pemrograman yang direpotkan dengan tanda titik koma, indeks, format keluaran, aturan khusus, dan sebagainya, maka sembarang versi pseudo-code dapat diterima asalkan perintahnya tidak membingungkan pembaca. Keuntungan menggunakan notasi pseudo-code adalah kemudian mengonversinya lebih tepat disebut mentranslasi-ke notasi bahasa pemrograman, karena terdapat korespondensi antara setiap pseudo-code dengan notasi bahasa pemrograman. Korespondensi ini dapat diwujudkan dengan table translasi dari notasi algoritmik ke notasi bahasa pemrograman apa pun.
Contoh :
Algoritma Kelulusan_mhs
{diberikan nama dan nilai mahasiswa, jika nilai tersebut lebih besar atau sama dengan 60 maka mahasiswa tersebut dinyatakan lulus jika tidak maka dinyatakan tidak lulus}
DEKLARASI :
Nama : string
Nilai : integer
Keterangan : string
DESKRIPSI :
Read (nama, nilai)
If nilai >= 60 then
Keterangan = “lulus”
Else
Keterangan = “tidak lulus”
Write (nama, keterangan)

2. Bahasa Pascal
2.1 Pengenalan Bahasa Pascal
Bahasa Pascal dikembangkan oleh Prof. Niklaus Wirth di Technical University Zurich, Swis sekitar tahun 1970. Nama Pascal di ambil dari tokoh ahli matematika Perancis abad ke 17 yakni Blaise Pascal. Bahasa Pascal sendiri merupakan kelanjutan dari bahasa pemrograman ALGOL (ALGOrithmic Language). Bahasa Pascal sendiri di kembangkan untuk pengajaran tentang pemrograman. Selanjutnya Pascal banyak dikembangkan oleh berbagai pihak antara lain ANSI Pascal (American National Standard Institute) yang dipergunakan sebagai bahasa standard, TURBO PASCAL yang di kembangkan oleh Borland Inc., UCSD Pascal yang dikembangkan oleh Universitas California di San Diego dan lain-lain. Bahasa Pascal sendiri merupakan bahasa pemrograman yang terstruktur karena program Pascal mempunyai struktur baku. Pada perkembangan selanjutnya PASCAL di kembangkan oleh Borland menjadi Delphi.

2.2 Karakter-karakter yang Dipergunakan
Bahasa pascal mempergunakan karakter A sampai dengan Z, baik huruf besar maupun kecil, karakter 0 sampai 9, dan simbol-simbol khusus seperti + - 0 dan sebagainya yang seperti biasanya ada pada keyboard. Pada beberapa versi simbol { dan } diganti (* dan *), juga symbol [ dan ] diganti (. dan .).

2.3 Pengenal dan Variabel
Pengenal adalah nama yang diberikan kepada suatu elemen program. Elemen tersebut dapat suatu konstanta, suatu variable, suatu fungsi, suatu prosedur maupun program. Pengenal dapat disusun dari karakter huruf maupun karakter bilangan, dengan beberapa aturan yang harus dipenuhi :
a. Nama pengenal harus diawali dengan karakter huruf.
b. Karakter kedua dan selanjutnya bisa berupa kombinasi angka dengan huruf, baik huruf besar maupun huruf kecil, tetapi tidak boleh memakai karakter khusus seperti ? # dan lain-lain. Beberapa versi Pascal bisa menerima tanda garis bawah (_) sebagai karakter penyusun nama pengenal.
c. Panjang karakter sebagai nama pengenal bisa sembarang, tetapi dalam beberapa versi Pascal hanya delapan karakter yang diingat dalam memori. Karakter kesembilan dan seterusnya diabaikan.
d. Beberapa nama sudah dipergunakan secara khusus oleh Pascal untuk maksud-maksud tertentu, sehingga tidak boleh lagi dipergunakan sebagai nama pengenal. Nama-nama ini disebut sebagai kata khusus (reserved words).
e. Beberapa nama yang disebut pengenal standard juga telah mempunyai arti khusus, tetapi bila didefinisikan kembali mereka juga bisa digunakan sebagai pengenal. Jika pengenal standard ini dipergunakan sebagai pengenal biasa maka arti khususnya tidak akan dipergunakan.
Table pengenal standard
Konstanta : false, true, maxint
Tipe : Boolean, char, real, integer
Berkas : input, output
Fungsi : abs, arctan, chr, cos, eof, eoln, exp, in, odd, ord, pred, pround, sin, sqr, sqrt, succ, trune
Prosedur : dispose, get, new, pack, page, put, read, readln, reset, rewrite, unpack, write, writeln

Variabel ialah pengenal yang nilainya boleh berubah pada waktu pemrosesan program. Semua variable yang akan dipergunakan dalam program harus dideklarasikan terlebih dahulu di dalam program. Deklarasi variabel dilakukan dengan deklarasi VAR.

2.4 Struktur dan Komponen Bahasa Pascal
Program Pascal terdiri dari 3 bagian poko, yaitu :
a. Judul program
Sebuah statemen di awal program yang di awali dengan pengenal khusus PROGRAM diikuti dengan NAMA program.
Contoh
PROGRAM bblm (input, output)

b. Blok Deklarasi
Bagian ini berisis deklarasi pengenal maupun data yang akan dipergunakan di dalam program. Ada 6 buah deklarasi yakni CONST, VAR, TYPE, LABEL, FUNCTION, PROCEDURE.
Contoh :
VAR panjang, lebar : Integer
CONST pi= 3,14;

c. Blok Statement
Bagian untuk penulisan dan peletakan kode program untuk mengolah inputan dan output dari aplikasi yang akan dibuat.
Contoh:
BEGIN
panjang := 10;
lebar := 5;
luas := panjang x lebar;
writeln (‘luas=’,luas);
END.

Berikut contoh penulisan program pascal.


2.5 Aturan Penulisan Program Pascal
Aturan penulisan program pascal adalah sebagai berikut :
a. Program pascal boleh ditulis mulai kolom berapa saja dan diakhiri pada kolom berapa saja.
b. Setiap statemen diakhiri dengan tanda ; (titik koma)
c. Beberapa statemen boleh ditulis sekaligus di dalam suatu baris. Hanya saja cara seperti ini tidak dianjurkan karena akan mempersulit pembacaan program.
d. Akhir sebuah program pascal ditandai dengan tanda baca titik setelah perintah END yang paling akhir.
e. Spasi antarpengenal umumnya diabaikan.
f. Baris komentar diletakkan di antara tanda (* dan *) atau { dan }. Baris komentar tidak akan dieksekusi oelh komputer. Baris komentar biasanya dipergunakan untuk memberikan penjelasan-penjelasan guna memperjelas pengertian pengenal maupun variabel di dalam program.

2.6 Jenis Tipe Data dalam Pascal
Jenis-jenis data tersebut adalah :
a. Tipe data sederhana
Merupakan tipe data dasar yang sering dipakai oleh program. Yang termasuk tipe data sederhana adalah integer (bilangan bulat), real (bilangan pecahan), char (alphanumeric dan tanda baca), Boolean (logika)
1. Tipe integer
Konstanta tipe integer adalah hanya terdiri dari bilangan dan tidak mempunyai titik decimal. Dengan demikian tidak ada karakter lain, misalnya koma, yang diperbolehkan. Tanda plus atau minus dapat mendahului bilangan tersebut.
2. Bilangan real
Bilangan real merupakan jenis bilangan pecahan, dapat dituliskan secara biasa atau model scientific. Contoh bilangan real adalah 34.265, -3.55, 0.0, dan 35.997E+11.
3. Char
Tipe data ini menyimpan karakter yang diketikkan dari keyboard, memiliki 266 macam yang terdapat dalam table ASCII. Contoh ‘a’ ‘B’ ‘+’ dsb.
4. Tipe data Boolean
Merupakan tipe data logika yang berisi dua kemungkinan nilai yaitu TRUE atau FALSE. Operator and, or, atau not dapat membentuk ungkapan Boolean yang jauh lebih kompleks.

b. Tipe Data Terstruktur
tipe ini terdiri atas array, record, set, dan file.
1. Tipe data string
Merupakan suatu data yang menyimpan array (larik). Sebagai contoh ‘ABCDEF’ merupakan sebuah konstanta string yang berisikan 6 byte karakter. Ukuran tempat untuk tipe data ini adalah 2 s.d. 256 byte, dengan jumalh elemen 1 s.d. 255.
2. Tipe data set
Sebuah set merupakan suatu himpunan yang berisi nilai (anggota). Set merupakan tipe data yang khusus untuk pacal. Set dalam pemrograman sangat mirip dengan himpunan dalam ilmu matematika. Contoh A = {1,2,3,4,5}.

Related Posts by Categories

0 komentar :

Posting Komentar

Thanks for your commentar

Domain Murah

indonetmedia