PT Part 1
PT Part 1
PEMROGRAMAN TERSTRUKTUR
A. Pengantar Algoritma
Menurut Kamus Besar Bahasa Indonesia terbitan Balai Pustaka tahun 1988 algoritma
diartikan sebagai urutan logis pengambilan putusan untuk menyelesaikan masalah. Tahun
1950 algoritma sering dihubungkan dengan “algoritma Euclidean” (Euclid’s algorithm) yaitu
proses untuk menemukan pembagi bersama terbesar (common greatest devisor) dari dua
bilangan bulat.
Algoritma Euclidean.
Diberikan dua buah bilangan positif m dan n (dalam hal ini m n), carilah pembagi
bersama terbesar, pbt, dari kedua bilangan tersebut, yaitu bilangan posistif terbesar yang
habis membagi m dan n.
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.
Menurut Donald E. Knuth dalam bukunya yang berjudul The Art of Computer Programming,
algoritma harus mempunyai lima ciri penting berikut:
B. Paradigma Pemrograman
Paradigma adalah sudut pandang tertentu yang digunakan terhadap suatu problem, realitas,
keadaan dan sebagainya. Paradigma membatasi dan mengkondisikan jalan berpikir
seseorang, mengarahkannya terhadap beberapa atribut dan mengabaikan atribut lain,
sehingga paradigma hanya memberikan pandangan yang terbatas terhadap sebuah realitas.
Kelebihan dari paradigma ini adalah efisiensi eksekusi karena lebih dekat dengan konsep
mesin, kekurangannya adalah batasan yang sangat mengikat sehingga terkadang menyulitkan
programmer yang tidak terbiasa.
Contoh bahasa pemrogaman yang menggunakan paradigma prosedural atau imperatif adalah:
Algol, Pascal, Fortran, Basic, Cobol, C, dsb…
Contoh bahasa pemrograman yang menggunakan paradigma fungsional adalah LOGO, APL
dan LISP.
Contoh bahasa pemrograman yang menggunakan paradigma ini adalah: Smalltalk, Eifel,
Delphi, Java
Output Program:
Output Program:
karakter menggunakan tanda petik tunggal (‘ ) di depan dan belakang karakter yang ditulis.
Contoh : ‘a’, ‘A’,’&’ dll.
Output Program
Catatan : Apabila char ingin dijadikan sebagai konstanta maka karakter yang dimasukkan
harus diapit dengan tanda kutip satu dan apabila karakter itu berupa tanda kutip satu maka
harus diapit dengan dua tanda kutip satu.
Untuk tipe data string, operator yang berlaku adalah operator penggabungan (+).
Contoh:
Output Program
Output Program:
Record (Rekam)
Definisi Record hampir sama dengan Array, tetapi yang membedakan antara keduanya adalah
kalau Array semua komponennya bertipe data yang sama sedangkan Record setiap
komponennya bisa bertipe data yang beda-beda.
Contoh:
TYPE my_rec = RECORD
Nama : STRING[90]; Npm : STRING[ 8] ;
Nilai : REAL;
END;
VAR
Data nya : my re c;
Array(larik)
Larik (array) adalah kumpulan data yang mempunyai tipe data sejenis dan tipe terstruktur
yang mempunyai komponen dalam jumlah yang tetap. Posisi masing-masing komponen
dalam larik dinyatakan sebagai nomor indeks. Daftar nomor telpon, daftar kode mata kuliah,
vektor, matrik merupakan contoh larik.
Enumerated(terbilang)
Tipe data enumerated (skalar) menunjukkan kumpulan dari nilai yang urutannya sudah pasti.
Nilai dari tipe yang dideklarasikan ini akan diwakili dengan pengenal – pengenal (identifiers)
yang akan menjadi nilai suatu konstanta. Disebut tipe terbilang karena semua nilai disebut
satu persatu.
Contoh 1:
Type bahasa = (delphi, java, c, pascal, basic);
bulan = (maret, april, mei, juni, juli);
Tipe data bulan mempunya 5 elemen dari maret sampai juli. Urutannya, maret adalah
identifier berupa konstanta bernilai 0 dan juli bernilai 4, yang perlu diperhatikan dengan tipe
data skalar ini adalah tipe data ini sudah berbeda dengan tipe standar yang ada dan pascal
tidak mengijinkan operasi dengan tipe data yang berbeda.
Contoh 2:
Type hari = (Senin,Selasa,Rabu,Kamis,Jum'at,Sabtu,Minggu);
hari_kerja = (Senin,Selasa,Rabu,Kamis,Jum'at);
situasi = (senang,gembira,sedih,susah);
Set(himpunan)
Tipe himpunan adalah kumpulan obyek yang mempunyai tipe data yang sama dan urutan
penulisannya tidak diperhatikan.Setiap onyek di dalam suatu himpunan disebut dengan
anggota atau elemen himpunan. Bentuk umum deklarasi himpunan adalah:
type pengenal = set of tipe_data;
atau dapat juga langsung dideklarasikan dalam bagian deklarasi perubah seperti berikut:
var pengenal = set of tipe_data;
Keterangan:
pengenal : nama perubah atau pengenal yang akan dinyatakan sebagai tipe himpunan.
tipe_data : tipe data dari anggota himpunan, harus bertipe ordinal.
Contoh deklarasi himpunan adalah sebagai berikut:
type Irama = (jazz, rock, blues, country, classic);
Musik = set of Irama;
Nilai = set of 0..10;
Untai = set of char;
Huruf = set of ‘A’..’Z’;
Sakit = (pusing, mual, lemas, lesu, letih);
Penyakit = set of sakit;
Subrange(sub jangkauan)
Tipe data subrange adalah suatu range yang menunjukkan nilai terkecil dan nilai terbesar
yang dapat dipergunakan. Tipe data ini adalah tipe data yang dapat didefinisikan sendiri oleh
pemakai. Nilai data pada tipe ini mempunyai jangkauan tertentu. Misalkan nilai ujian
mempunyai harga 0 sampai 100, maka nilai ujian dapat didefinisikan sbb :
TYPE
nilai = 0..100;
Contoh:
VAR sks : 1..4;
angkatan : 89..95;
nilai : 'A'..'E';
Deklarasi tipe data subrange mempunyai bentuk: Type pengenal = konstanta1 .. konstanta2;
dimana: pengenal : nama tipe data yang dideklarasikan
konstanta1 : batas bawah nilai data
konstanta2 : batas atas nilai data
Kedua konstanta di dalam subrange harus bertipe ordinal yang sama, di mana nilai konstanta
pertama lebih kecil atau sama dengan nilai konstanta kedua. Tipe data real tidak dapat
digunakan sebagai nilai subrange, karena buka tipe ordinal.
Contoh:
Type tanggal = 1 .. 31;
bulan = 1 .. 12;