Mata Kuliah: Logika Informatika dan Algoritma
Nama Mahasiswa : Zaenal Abidin
NIM
: 131510031
Kode Kelas
: 131-IS01T-M1
Dosen
: M. Rasid Ridho S.Kom., M.SI.
UNIVERSITAS PUTERA BATAM
2014
sistematis dan logis. Suatu algoritma dapat dibuktikan kebenarannya melalui komputer setelah algoritma tersebut ditranslasikan kedalam bahasa pemrograman. Bahasa pemrograman yang digunakan dimakalah ini menggunakan Turbo Pascal 1.5 yang berjalan di system operasi windows.
Makalah ini membahas secara ringkas tentang algoritma dan pascal sebagai dasar bagi pemula yang mempelajari pemrograman komputer.
Akhir kata, penulis mengucapkan puji syukur Alhamdulillah makalah ini bisa diselesaikan dengan baik, walaupun masih banyak kekurangan disana-sini yang masih diperlukan perbaikan. Oleh karena itu penulis menerima masukan dari dosen pengajar mata kuliah algoritma maupun dari teman-teman mahasiswa yang membeca makalah ini. Mudah-mudahan makalah ini dapat bermanfaat bagi penulis sendiri maupun bagi yang membacanya.
Wassalam
Batam, Januari,2014
Penulis
BAB I... 1
PENDAHULUAN...1
BAB II... 3
PEMBAHASAN...3
II.1. PENGERTIAN LOGIKA DAN ALGORITMA...3
II.2. BAHASA PASCAL...6
BAB III... 14
STRUKTUR PROGRAM...14
III.1. PEMILIHAN...14
III.2. PROSEDUR...23
III. 3. LARIK...29
III. 4. PENCARIAN...31
III.5. REKURSIF...35
BAB IV... 39
KESIMPULAN...39
DAFTAR PUSTAKA...40
I.1. Pengertian Bahasa pemrograman
Bahasa pemrograman adalah bahasa formal yang dirancang untuk mengkomunikasiakan instruksi dengan sebuah mesin, terutama komputer. Bahasa pemrograman dapat digunakan untuk membuat program yang dapat mengendalikan perilaku mesin dan untuk mengekspresikan algoritma secara tepat.
Bahasa pemrograman mendahului menemuan komputer, dan digunakan untuk mengarahkan perilaku mesin seperti halnya mesin tenun dan pemutar piano. Ribuan bahasa pemrograman yang berbeda telah dibuat, terutama dibidang komputer. Banyak bahasa pemrograman membutuhkan perhitungan yang akan ditentukan dalam bentuk imperatif (yaitu sebagai urutan operasi dalam melaksanakan perintah), sedangkan bahasa yang lain menggunakan bentuk lain dari spesifikasi program sebagai bentuk deklaratif (yaitu menentukan hasil yang diinginkan , bukan bagaimana cara mencapainya).
Pemrograman dalam pengertian luas meliputi seluruh kegiatan yang tercakup dalam pembuatan program, termasuk analisis kebutuhan (requirement's analysis) dan keseluruhan tahapan dalam perencanaan (planning), perancangan (design) dan pewujudannya (implementation).
Dalam pengertian yang lebih sempit, pemrograman merupakan pengkodean (coding atau program writing/penulisan program) dan pengujiannya (testing) berdasrkan rancangan tertentu. Pemahaman yang lebih sempit ini sering digunakan dalam pembuatan program-program terapan komersial yang membedakan antara system analyst yang bertanggung jawab dalam menganalisa kebutuhan, perencanaan dan perancangan program dengan programer yang bertugas membuat kode program dan mengujinya.
Deskripsi bahasa pemrograman biasanya dibagi menjadi dua komponen syntax (bentuk) dan semantic (makna). Beberapa bahasa yang didefinisikan oleh dokumen spesifikasi (misalnya, pada bahasa c dan pascal ditentukan oleh standar ISO), sedangkan bahasa yang lain, seperti Perl5, mamiliki implementasi dominan yang digunakan sebagai referensi.
I.2. Pembahasan
Adapun bahasan pada makalah ini adalah sebagai berikut ;
a) Menjelaskan apa itu Algoritma.
b) Menjelaskan bahasa pemrograman Pascal. c) Membahas struktur dasar Pemilihan d) Membahas struktur Prosedur
e) Membahas struktur Larik f) Membahas struktur Pencarian g) Membahas struktur Rekursi
I.3. Tujuan
Adapun tujuan pembuatan makalah ini adalah untuk :
II.1. PENGERTIAN LOGIKA DAN ALGORITMA
Logika berasal dari bahasa Yunani yaitu logos yang berarti ilmu. Logika dapat diartikan ilmu yang mengajarkan cara berfikir untuk melakukan aksi dengan tujuan tertentu.
Algoritma berasal dari nama seorang ilmuan Arab yang bernama Abu Ja’far Muhammad Ibnu Musa Alkhuwarizmi penulis buku Al Jabar Wal Muqabala ( buku pemugaran dan pengurangan ). Kata Alkhuwarizmi dibaca orang barat menjadi algorism yang kemudian lambat laun menjadi Algorithm diserap kedalam bahasa Indonesia menjadi Algoritma. Algoritma dapat diartikan urutan langkah-langkah ( instruksi-instruksi / aksi-aksi ) terbatas untuk menyelesaikan suatu masalah.
Dari pengertian diatas maka dapat diartikan Logika dan Algoritma adalah ilmu yang mempelajari cara penyelesaian masalah berdasarkan langkah-langkah terbatas yang logis dan sistematis dengan tujuan tertentu.
Contoh Algoritma:
Permasalahan:
Diberiakan dua gelas (A dan B), gelas A berisi kopi dan gelas B berisi susu. Pertukarkan isi gelas tersebut sehingga menghasilkan gelas A yang semula berisi kopi menjadi susu, dan gelas B semula berisi susu menjadi berisi kopi.
Penyelesaian:
Untuk mempertukarkan isi gelas dengan benar, maka diperlukan gelas tambahan yang kita namakan gelas C sebagai penampungan sementara. Berikut Algoritmanya:
Algoritma_Tukar_Isi _Gelas
Ada dua gelas (gelas A dan B), gelas A berisi kopi dan gelas B berisi susu. Pertukarkan isi kedua gelas tersebut sehingga gelas A yang semula berisi kopi menjadi berisi susu dan gelas B sebaliknya.
Deskripsi:
1. Tuangkan gelas A ke dalam gelas C 2. Tuangakn gelas B ke dalam gelas A 3. Tuangakn gelas C ke dalam gelas B
Hasil akhir dari Algoritma pertukaran gelas menjadi:
A : berisi susu B : berisi kopi
A. Syarat-Syarat Algoritma
Syarat-syarat Algoritma menurut Donald E.Knuth, yaitu : 1. Finiteness (Keterbatasan)
Algoritma harus berakhir setelah melakukan rangkaian proses. 2. Defiteness (Kepastian)
Setiap langkah Algoritma harus didefiniskan dengan tepat dan tidak menimbulkan makna ganda.
3. Input (Masukan)
Sebuah Algoritma memiliki nol atau lebih masukan (input) yang diberikan kepada Algoritma sebelum dijalankan.
4. Output (Keluaran)
Setiap Algoritma memberikan satu atau beberapa hasil keluaran. 5. Effectiveness (Efektifitas)
Langkah-langkah Algoritma dikerjakan dalam waktu yang “wajar”.
B. Struktur Dasar Algoritma
1. Runtunan
Runtunan yaitu satu atau lebih instruksi yang dikerjakan secara berurutan penulisannya. Urutan dari instruksi menentukan hasil akhir dari suatu Algoritma. Bila urutan penulisan berubah mungkin juga hasil akhirnya berubah.
2. Pemilihan
Pemilihan yaitu instruksi yang dikerjakan dengan kondisi tertentu. Kondisi adalah persyaratan yang dapat bernilai benar atau salah. Instruksi hanya dilaksanakan apabila kondidisi bernilai benar, sebaliknya apabila kondisi salah maka instruksi tidak dilaksanakan. Pernyataan kondisi menggunakan stattment IF (jika) dan THEN (maka).
3. Pengulangan
Pengulangan merpakan pengulangan sejumlah aksi yang sama sebanyak jumlah yang ditentukan atau sesuai dengan kondisi yang diinginkan.
Algoritma dapat ditulis dengan cara berikut : 1. Menggunakan bahasa Natural.
2. Menggunakan Kode Semu (pseudo code). Teknik penulisan yang mendekati bahasa pemrograman tertentu.
3. Menggunakan diagram alir (flow chart). Teknik penyajian dengan menggunakan symbol-simbol.
Dari ketiga cara diatas untuk mempermudah translasi teks Algoritma kedalam teks program sebaiknya ditulis dalam bentuk notasi yang mendekati bahasa pemrograman (pseudo code).
D. Teks Algoritma
2. Bagian Deklarasi 3. Bagian Deskripsi
Setiap bagian disertai dengan penjelasan tentang maksud penulisan Teks. Penjelasan ditulisdalam krung seperti ini { }.
Algoritma Nama_algoritma
{ penjelasan singkat uraian yang dilakukan oleh algoritma }
Deklarasi
{ semua nama yang digunakan, meliputi nama-nama : tipe, konstanta, variable, juga nama subprogram dinyatakan dibagian ini }.
Deskripsi
{ semua langkah penyelesaian dituliskan disini }
Contoh :
Algoritma Cetak_ucapan
{ mencetak ucapan “Selamat Belajar” dan di ikuti dengan nama orang } Deklarasi
dipelajari oleh pemula karena struktur yang jelas serta tidak bersifat case sensitive (tidak membedakan huruf besar dan kecil). TPW 1.5 merupakan bahasa pemrograman Pascal yang berjalan dibawah system operasi Windows.
B. PASCAL Sebagai Bahasa Terstrutur
Sebagai bahasa terstruktur, PASCAL mempunyai ciri-ciri sebagai berikut :
1. Berurutan
Susunan dari kode-kode dalam teks Pascal harus ditulis secara urut dari atas, pernyataan-pernyataan yang ditulis lebih awal akan dieksekusi lebih dulu. Oleh karena itu, suatu pernyataan yang menyangkut suatu variable didalam program, maka variable itu harus terdefinisi dahulu sebelumnya. Hal ini terutama menyangkut pada pemanggilan subprogram oleh subprogram yang lain.
2. Blok dengan batas-batas yang jelas.
Pascal memberikan pembatas yang jelas pada tiap-tiap blok, seperti pada blok program utama, subprogram, struktur control (pengulangan / pemilihan), dll. Pemakaian kata kunci begin untuk mengawali operasi pada blok dan end untuk menutupnya memudahkan programer menyusun programnya dengan mudah. keluaran yang satu pula (satu disini maksudnya bukan dua baris perintah output tapi suatu paket perintah yang dirangkai dengan begin…end.
Dibakukan oleh ISO pada tahun 1983 dan dikembangkan dalam beberapa versi, diantaranya : USCD PASCAL, MS PASCAL,TURBO PASCAL dll. Dengan semakin berkembangnya dalam teknologi komputasi, Pascal dimanfaatkan untuk pengembangan DELPHI (berasal dari nama suatu kota di masa Yunani kuno), suatu bahasa pemrograman visual yang menojolakan pada efek grafis dan orientasi pada objek-objek yang siap dipakai, karena memiliki Visual Component Library (VCL).
D. Struktur Bahasa PASCAL Secara Umum
Pascal mempunyai struktur sebagai berikut :
1. Judul Program
e) Deklarasi sub-program ( PROCEDURE dan FUNCTION)
3. Bagian Program Utama Perintah-perintah
Teks Pascal setidaknya memiliki bagia Judul Program, bagian Deklarasi, dan bagian Program Utama yang berupa perintah-perintah. Sedangkan untuk bagian deklarasi menyesuaikan dengan isi dari program itu sendiri. Sebagai contoh:
Program TAMBAH_00; {menjumalahkan dua buah bilangan yang nilainya diberikan dalam perintah}
Var X,Y,Z : integer; {deklarasi variable X,Y,dan Z sebagai bilangan bulat} BEGIN {program utama dimulai}
X:= 50; {perintah untuk memberi nilai 50 pada var X} Y:= 25; {perintah intuk memberi nilai 25 pada var Y}
Z:= X + Y; {perintah untuk menjumlahkan X dan Y serta menyimpan hasilnya ke Z}
END. {akhir program utama}
Pada contoh ini nilai X dan Y tidak bisa sembarang, karena sudah didefinisikan sebelumnya dalam program. Agar nilai X dan Y bisa bebas ditentukan, nilai X dan Y dibaca dari default input.
Var X,Y,Z : integer; {deklarasi variable X,Y,dan Z sebagai bilangan bulat} BEGIN {program utama dimulai}
Read(X); {membaca nilai X dari keyboard} Read(Y); {membaca nilai Y dari keyboard}
Z:= X + Y; {perintah untuk menjumlahkan X dan Y serta menyimpan hasilnya ke Z}
Write(Z); {menyajikan Z kelayar monitor} END. {akhir program utama}
E. Jenis Identifier
1. Identifier umum
Merupakan identifier yang didefinisikan sendiri oleh pemrogram. Pemrogram mempunyai kebebasan untuk menentukan identifiernya, dengan syarat nama tersebut tidak sama dengan identifier standard dan reserved word yang akan dibahas lebih lanjut. Hal ini untuk mencegah kesalahan yang bisa timbul akibat tumpang tindih identifier dalam program.
2. Identifier standar (Baku)
Merupakan identifier yang didefinisikan oleh pembuat compiler Pascal. Biasanya membuat compiler menyediakan suatu library yang sudah ada didalam compiler. Library berisi berbagai prosedur, fungsi atau unit yang siap pakai. Misalnya Turbo Pascal Windows 1.5 memiliki suatu unit untuk memproses output yaitu wincrt, gotoxy, yang dengan mudah bisa dipakai oleh programer didalam menuliskan kode-kode programnya. Dinamai identifier standar karena suatu compiler tidak harus memilikinya, masing-masing compiler dimungkinkan mempunyai identifier berbeda untuk suatu tugas yang hampir sama. Misalnya Turbo Pascal versi DOS menggunakan crt untuk melakukan fungsi yang sama dengan wincrt (TPW 1.5).
Beberapa identifier standar yang dimiliki oleh compiler-kompiler pascal antara lain :
abs arctan Boolean char cos dispose eof eoln exp false input integer in maxint new odd ord output pack page pred read readln real reset rewrite round sin sqr sqrt succ text true trunk write writeln
Yaitu yang sudah didefinisikan dan digunakan oleh bahasa Pascal sendiri (kita tidak bisa menamai identifier kita dengan kata ini).
and array begin case const div do downto else end file forward function goto if in label mod nil not of or packed procedure program record repeat set then to type until var while with
F. Tipe Data
Tipe data yang disedikan oleh Pascal terbagi menjadi dua meliputi :
Tipe Data Sederhana
Tipe Data Terstruktur 1. Tipe Data Sederhana
Merupakan data dasar yang seering dipakai oleh program,meliputi : integer, real, char, dan Boolean. Untuk data integer dan real masing-masing terbagi menjadi beberapa katagori.
a. Bilangan Integer
Merupakan tipe data berupa bilangan bulat, terbagi atas beberapa katagori seperti terlihat dalam tabel 1 menunjukan jenis data ukuran dalam memori dan rentang nilainya.
Tipe Data Ukuran Tempat Rentang Nilai
Byte 1 Byte 0 s/d + 225
Shortint 1 Byte -28 s/d + 127 Integer 2 Bytes -32768 s/d 32767
Word 2 Bytes 0 s/d 65535
Longint 4 Bytes -2147483648 s/d 2147483647 Tabel 1. Tipe Data bilangan integer
b. Bilangan Real
Bilangan real atau nyata merupakan jenis bilangan pecahan, dapat dituliskan secara biasa atau model scientific. Contoh bilangan Real : 23,435 -2,55 0,0 32,997E+11, dimana E merupakan symbol perpangkatan sepuluh. Jadi 452.13 mempunyai nilai sama dengan 4.5213E2.
Penggolongan tipe data real dapat dilihat pada tabel 2.
Tipe Data Ukuran Tempat Rentang Nilai
Double 8 Bytes 5.0 x 10 -324 s/d 1.7 x 10308 Extended 10 Bytes 3.4 x 10 -4932 s/d 1.1 x 104932 Comp 8 Bytes -9.2 x 1018 s/d 9.2 x 1018
Tabel 2 Tipe Data Bilangan real
c. Char
Tipe data ini menyimpan karakter yang diketikan dari keyboard, memiliki 266 macam yang terdapat dalam tabel ASCII ( American Standard Code for Information Interchange). Contoh ; ‘a’ , ’B’ , ’+’, dsb. Yang perlu diingat bahwa dalam menuliskannya harus memakai tanda kutip tunggal. Jenis data ini memerlukan alokasi memori sebesar 1(satu) byte untuk masing-masing data.
d. Tipe Data Boolean
Merupakan tipe data logika, yang berisi dua kemungkinan nilai : TRUE (benar) dan FALSE (salah). TPW memiliki tiga jenis ini yaitu : Boolean, WordBool, dan LogBool. Tipe boolean memakai memori paling kecil, sedangkan WorBool dan LogBool dipakai untuk menulis program yang sesuai dengan lingkungan windows.
Tipe Data Ukuran Tempat
Boolean 1 Byte
WordBool 2 Bytes
IongBool 3 Bytes
Tabel 3. Tipe Data Boolean 2. Tipe Data Terstruktur
Tipe ini terdiri atas : array, record, set, dan file. String adalah tipe data jenis array, Karena string memiliki kekhasan tersendiri sebagai array dari karakter. a. Tipe Data String
Merupakan suatu data yang menyimpan array (larik), sebagai contoh ‘ABCDF’ merupakan sebuah konstanta string yang berisikan 6 byte karakter. Ukuran tempat untuk tipe data ini adalah 2 s/d 256 byte, dengan jumlah elemen 1 s/d 225. String dideklarasikan dengan string [konstanta] atau string. Bila ukuran string tidak didefinisikan maka akan banyak memakan ruang, karena ukuran string menyesuaikan dengan defaultnya. Misalkan: var kata : string [20]; atau var kata : string. Karena string merupakan array dari karakter.
Sebuah set merupakan suatu himpunan yang berisi nilai (anggota). Set merupakan tipe data yang khusus untuk Pascal. Set dalam pemrograman sangat mirip dengan himpunan dalam ilmu matematika,
Contoh :
Beberapa operator yang disediakan oleh PASCAL : 1. Aritmatika
2. Boolean 3. Relasional 4. Set
Operator Operasi Tipe Operand Tipe Hasil Operasi
+ Penjumlahan Integer, Real Integer, Real - Pengurangan Integer, Real Integer, Real * Perkalian Integer, Real Integer, Real / Pembagian Integer, Real Integer, Real div Pembagian Integer, Integer Integer mod Sisa Pembagian Integer, Integer Integer
Tabel 4. Aritmetika Pascal
Operator Operasi Tipe Operand Tipe Hasil Operasi
Not Negasi Boolean Boolean
And Logika ‘and’ Boolean Boolean
Or Logika ‘or’ Boolean Boolean
Xor Logika ‘xor’ Boolean Boolean
III.1. PEMILIHAN
Didalam suatu program seringkali terdapat instruksi yang hanya bisa dikerjakan jika ia memenuhi suatu persyaratan tertentu. Oleh karena itu komputer tidak lagi mengerjakan instruksi secara sekuensial melainkan berdasarkan syarat tertentu yang dipenuhi. Struktur pemilihan memungkinkan kita melakukan aksi jika suatu syarat dipenuhi. Didalam makalah ini struktur pemilihan yang akan dibahas adalah IF-THEN, IF-THEN ELSE dan CASE-OF, sebagai berikut :
A.Pemilihan Dengan StrukturIF-THEN dikerjakan. Kata endif sengaja kita tambahkan untuk mempertegas awal dan akhir struktur IF-THEN. Aksi yang dikerjakan bisa satu, dua, atau lebih. Bagan alir pada gambarmembantu memperlihatkan visualisasi pemilihan dengan hanya satu kasus ini.
salah
benar
Bagan alir yang memperlihatkan pemilihan dengan hanya dengan satu kasus
Contoh :
Berikut kita akan membuat program mencetak bilangan ganjil menggunakan statement if dengan bahasa Pascal.
kondisi
aksi
Setelah dijalankan maka hasil programnya akan terlihat seperti dibawah.
B. Pemilihan Dengan Struktur IF-THEN-ELSE
Konstruksi IF-THEN hanya menyediakan satu alternative aksi jika suatu persyaratan (kondisi) dipenuhi. Kadang-kadang kita perlu memilih melakukan aksi alternative jika suatu kondisi tidak memenuhi. Jadi, ada dua kasus, tetapi hanya salah satu dari keduanya yang harus dipilih satu untuk dikerjakan. Notasi algoritmik untuk masalah dengan dua buah kasus adalah dengan menggunakan konstruksi IF-THEN-ELSE( jika-maka-kalau tidak) :
if
kondisi then
aksi1
else
aksi2 endif
Pernyataan diatas berarti bahwa aksi1 dikerjakan jika kondisi bernilai benar,
Benar Salah
Bagan alir yang memperlihatkan pemilihan dengan dua kasus.
Contoh :
Berikut kita akan membuat program Password menggunakan statement if then else sebagai berikut.
kondisi
aksi2 aksi1
Jika password yang dimasukan “udin” maka akan menghasilka output sebagai berikut
Jika password yang dimasukan bukan “udin” maka hasilnya akan tampak seperti berikut.
C. Pemilihan Dengan Tiga Kasus Atau Lebih
Masalah yang mempunyai tiga buah kasus atau lebih dapat dianalisis dengan konstruksi IF-THEN-ELSE bertingkat-tingkat. Gambar dibawah memperlihatkan bagan alir untuk masalah dengan 3 kasus.
Tiga kasus :
else
Bagan alir yang memperlihatkan pemilihan dengan tiga kasus.
Berikut adalah contoh programnya mencetak tulisan Bilangan Positif atau Bilangan Negatif atau Nol:
Sedangkan apabila kita menginputkan angka -23 maka hasilnya akan seperti dibawah.
D. Pemilihan Dengan Struktur Case
Untuk masalah dengan dua kasus atau lebih, kontruksi CASE dapat menyederhanakan penulisan IF-THEN-ELSE yang bertingkat-tingkat sebagaimana telah kita bahas diatas. Berikut disajikan struktur CASE :
case ekspresi
nilai1 : aksi1
nilai2 : aksi2
nilai3 : aksi3 .
.
nilain : aksin
Otherwise : aksix endcase
Contoh :
Apabila kita menginputkan kode kelas 114 pada piranti masukannya maka hasilnya akan tampak seperti berikut.
III.2. PROSEDUR
Prosedur adalah program terpisah atau subprogram yang dibuat dengan tujuan untuk menyederhanakan program. Prosedur ditulis dalam satu blok program yang cukup ditulis satu kali tetapi dapat dipanggil berulang kali.
Didalam prosedur ada yang disebut Parameter yaitu nama-nama peubah yang dideklarasikan pada bagian header prosedur. Parameter terbagi dua menjadi
Parameter Aktual adalah parameter yang disertakan pada waktu pemanggilan prosedur, sedangkan Parameter Formal adalah parameter yang dideklarasikan didalam bagian header prosedur itu sendiri.
Setiap Prosedur program Pascal harus mengikuti struktur dasarnya. Berikut adalah sruktur dasar prosedur yang harus diikuit .
…tambah prosedur jika dibutuhkan… BEGIN
Blok program utama. Ini harus kecil dan semua pekerjaan harus diserahkan kepada prosedur. Disini sering berisi pengulangan dan pemanggilan prosedur yang bersesuain.
END.
Berikut contoh program menghitung luas segitiga dengan prosedur tanpa parameter.
Didalam prosedur terdapat 3 parameter yaitu :
A. Prosedur dengan Parameter Masukan
Yaitu parameter yang nilainya berlaku sebagai masukan untuk prosedur. Pada parameter masukan, nilai parameter actual diisikan kedalam badan prosedur yang besangkutan.
Dan bila kita mengisikan nilai 3 pada “Banyaknya Lingkaran” dan mengisikan sembarang nilai pada jari-jarinya, maka hasilnya akan tampak sebagai berikut.
B. Prosedur dengan Perameter Keluaran
ditampung dalam parameter keluaran. Ketika prosedur yang mengandung parameter keluaran dipanggil, maka parameter actual menggantikan nama parameter formal yang bersesuaian didalam prosedur.
Berikut diberikan contoh program menghitung luas lingkaran dengan menggunakan prosedur parameter keluaran.
C. Prosedur dengan Parameter Masukan / Keluaran
Adalah parameter yang berfungsi sebagai masukan sekaligus keluaran bagi prosedur tersebut.
Dengan mengisikan banyaknya mata pelajaran dan nilai tiap mata kuliah tersebut, maka hasil programnya seperti tampak dibawah ini.
III. 3. LARIK
Larik / Array adalah tipe data terstruktur yang terdiri dari sejumlah komponen-komponen yang bertipe sama (homogen). Komponen-komponen tersebut disebut sebagai komponen tipe, larik mempunyai komponen yang jumlahnya tetap. Banyaknya komponen dalam larik ditunjukan oleh suatu indeks, dimana tiap komponen di larik dapat diakses dengan menunjukan nilai indeksnya atau subscript. Larik dapat bertipe data sederhana seperti byte, word, integer, real, boolean, char, string dan tipe data scalar atau subrange. Tipe larik mengartikan isi dari larik atau komponen-komponennya mempunyai nilai dengan tipe data tersebut.
III. 4. PENCARIAN
Pencarian / Searching adalah menemukan nilai atau data tertentu didalam sekumpulan data yang bertipe sama baik tipe dasar maupun bertipe bentukan.
Untuk mengubah atau meng-update data tertentu langkah pertama yang harus dilakukan adalah mencari keberadaan data tersebut didalam kumpulanya.
Spesifikasi masalah pencarian
Bila kita akan mencari nilai x didalam larik L, maka hasil / keluaran dari pencarian dapat bermacam-macam:
1. Pencariannya hanya untuk memeriksa keberadaan x. Write (‘ditemukan’) atau
Write (‘tidak ditemukan’)
2. Hasil pencarian adalah indeks elemen larik.
L
1 2 3 4 5 6 7 8
Jika x = 10 maka indeks = 5, jika x = 4 maka indeks = -1
3. Hasil pencarian Boolean yang menyatakan status hasil pencarian. Jika x = 10 maka ketemu = true,
Jika x = 4 maka ketemu = false
Ada dua macam pencarian :
1. Algoritma pencarian beruntun ( sequential search ) 2. Algiritma pencarian bagi dua ( binary search )
A. Algoritma Pencarian Beruntun / Squential Search
Cara kerjanya adalah membandingkan setiap elemen larik satu persatu secara beruntun mulai dari elemen pertama sampai elemen ditemukan atau seluruh elemen sudah diperiksa.
Berikut ini contoh program prosedur pencarian dengan hasil Boolean, bernilai true jika ditemukan dan false jika tidak ditemukan.
B. Algoritma Pencarian Bagi Dua
Algoritma yang paling Efisien adalah algoritma bagi dua atau pencarian biner atau binary search. Algoritma ini digunakan untuk kebutuhan pencarian dengan waktu yang cepat.
Kanan Kiri
L
1 2 3 4 5 6 7 8
Berikut diberikan contoh kode program prosedur pencarian bagi dua.
III.5. REKURSIF
Menurut Niklaus Wirth definisi rekursif yaitu “ An object is said be recursive if it partially consist of is defines in terms of itself “.
Rekursif disusun oleh dua bagian :
1. Basis
Berisi kasus yang terdefinisi eksplsit, bagian ini yang menghentikan rekursif.
2. Rekurens
Mendefinisikan objek dalam terminology dirinya sendiri.
Contoh algoritma fungsi rekursif
Berikut contoh code program tentang factorial atau mencari factor terhadap suatu bilangan :
Apabila kita mengisikan nilai 5 untuk mencari pemfaktorannya maka hasil programnya sebagi berikut ;
Rekursif dengan list berkait
Link berkait/linked list adalah sekumpulan elemen (boleh kosong) yang setiap elemennya terdiri dari dua bagian :
Kapan tidak menggunakan rekursif
Ada dua alas an kita harus mengubah algoritma rekursif menjadi algoritma iterative. Diantaranya adalah :
1. Bahasa pemrograman tidak mendukung. FOTRAN tidak mendukung. 2. Dapat terjadi rekursif tidak mangkus, memiliki kerumitan yang tidak
perlu atau terlalu lambat.
Contoh Menara Hanoi
Berikut diberikan contoh program dengan memakai cara Menara Hanoi yaitu memindahkan sejumlah disk/piringan dari menara A ke B dengan menggunakan bantuan menara C.
Berdasarkan pembahasan yang telah kita ulas, bahasa pemrograman pascal merupakan bahasa pemrograman terstruktur yang mana blok-blok kode program tersusun sedemikian sehingga dapat membangun program yang efisien dan pascal juga termasuk kedalam bahasa pemrograman tinggkat tinggi yaitu kode-kode programnya menggunakan bahasa yang dimengerti oleh manusia.
Di era sekarang ini, bahasa pemrograman pascal sudah jarang digunakan dalam pembuatan program, karena sudah ada bahasa pemrograman yang lebih baru yaitu bahasa pemrograman yang berorientasi objek seperti, C++, Visual Basic, Java dan masih banyak lagi. Namun pascal sangat cocok bagi pemula yang ingin mempelajari pemrograman komputer.
www.EmeRer.com.