laporan
description
Transcript of laporan
IMPLEMENTASI SEGITIGA PASCAL
PADA PROGRAM TURBO PASCAL
TUGAS BESAR PRAKTIKUM
Diajukan Kepada
Divisi Pendidikan dan Pelatihan
Lembaga Informasi dan Komunikasi
Universitas Muhammadiyah Malang
Disusun Oleh:
Defi Enggarini Nursanti
08320113
JURUSAN MATEMATIKA DAN KOMPUTASI
FAKULTAS KEGURUAN ILMU DAN PENDIDIKAN
UNIVERSITAS MUHAMMADIYAH MALANG
2011
LEMBAR PERSETUJUAN
Judul Tugas Besar Praktikum:
Implementasi Segitiga Pascal
Pada Program Pascal TUGAS BESAR PRAKTIKUM
Diajukan Kepada
Divisi Pendidikan dan Pelatihan
Lembaga Informasi dan Komunikasi
Universitas Muhammadiyah Malang
Disusun Oleh:
Defi Enggarini Nursanti
08320113
Disetujui oleh
Malang, 4 Januari 2011 Malang, 4 Januari 2011
Asisten I Asisten II
Ahmad Fajarisma Rokhis Rosyidi
Mengetahui,
Instruktur
Suwarno, ST
LEMBAR PENGESAHAN
JUDUL : Implementasi Segitiga Pascal Pada Turbo Pascal
NAMA : Defi Enggarini Nursanti
NIM : 08320113
Disetujui oleh
Malang, 4 Januari 2011 Malang, 4 Januari 2011
Asisten I Asisten II
Ahmad Fajarisma Rokhis Rosyidi
Mengetahui,
Kepala Divisi
Instruktur Pendidikan Pelatihan
Suwarno, ST IR. M. Lukman, MT
i
KATA PENGANTAR
Puji syukur ke hadirat Tuhan YME, karena atas limpahan rahmat serta
karunia-Nya saya dapat menyelesaikan laporan “Implementasi Segitiga Pascal
Pada Program Turbo Pascal”. Laporan ini disusun guna memenuhi tugas akhir
pada mata kuliah Bahasa Pemrograman I.
Ucapan terima kasih senantiasa kami haturkan kepada:
1. Bapak Suwarno selaku dosen pengampu mata kuliah Bahasa Pemrograman I
2. Mas Fajar dan Mas Rokhis yang telah memberikan bimbingan dan arahan
hingga terselesaikannya laporan ini
3. Orang tua saya yang telah membantu saya dengan doa
4. Teman-teman saya, serta pihak-pihak tertentu yang telah membantu saya
baik secara materiil maupun moril.
Laporan ini sudah barang tentu masih jauh dari kesempurnaan. Untuk itu,
kritik dan saran yang membangun senantiasa saya harapkan dari pembaca demi
sempurnanya laporan ini. Semoga laporan ini bermanfaat bagi mahasiswa
Fakultas Keguruan dan Ilmu Pendidikan khusunya, dan mahasiswa Universitas
Muhammadiyah Malang pada umumnya.
Malang, Januari 2011
Defi Enggarini N.
ii
DAFTAR ISI
KATA PENGANTAR .......................................................................... i
DAFTAR ISI ......................................................................................... ii
BAB I : PENDAHULUAN
1.1 Latar Belakang ......................................................................... 1
1.2 Rumusan Masalah ..................................................................... 2
1.3 Manfaat dan Tujuan .................................................................. 2
1.4 Batasan Masalah ....................................................................... 3
BAB II : DASAR TEORI
2.1 Turbo Pascal .............................................................................. 4
2.2 Segitiga Pascal .......................................................................... 14
2.3 Statement For – to - do ............................................................. 15
2.4 Statement If – then – else .......................................................... 15
2.5 Statement Array ........................................................................ 16
BAB III : ALGORITMA DAN FLOWCHART
3.1 Algoritma Pada Program Segitiga Pascal ................................. 17
3.2 Flowchart Program .................................................................... 18
BAB IV : PROGRAM DAN PEMBAHASAN
4.1 Program ..................................................................................... 19
4.2 Analisis Program ....................................................................... 20
BAB V : PENUTUP
5.1 Kesimpulan ............................................................................... 24
5.2 Saran ......................................................................................... 24
DAFTAR PUSTAKA
LAMPIRAN
1
BAB I
PENDAHULUAN
1.1 Latar Belakang
Tidak dapat dipungkiri bahwa perkembangan teknologi informasi tidak
pernah lepas dari peranan matematika. Matematika sangat berperan penting
bagi perkembangan program teknologi informasi dan komunikasi (TIK) atau
komputer. Ada banyak kontribusi yang telah disumbangkan matematika,
antara lain dalam perkembangan hardware dan software. Sebelum terciptanya
komputer, sebenarnya sudah ada ilmu yang mendasari perhitungan dalam
segala hal yaitu ilmu matematika. Kemudian dalam perkembangannya
matematika menjadi pendorong terbentuknya komputer, hal itu dibuktikan,
bahwa komputer berasal dari bahasa latin computare yang artinya
menghitung. Hal ini jelas memberi pandangan kepada kita bahwa matematika
erat kaitannya dengan ilmu komputer. Pada perkembangan selanjutnya
komputer diciptakan lebih kompleks, tidak hanya untuk menghitung tetapi
dapat digunakan untuk banyak tugas lainnya, namun tetap ada peran
matematika di dalamnya.
Matematika mempunyai peran yang sangat penting dalam kehidupan
sehari-hari, terutama pada zaman modern seperti sekarang ini, dimana
teknologi berkembang sangat cepat. Salah satunya yaitu perkembangan
Teknologi Informasi dan Komunikasi.
Dalam perkembangan teknologi informatika, matematika memberikan
sumbangsih tersendiri. Berbagai aplikasi dan program di komputer tidak lepas
dari penerapan aplikasi matematika, diantaranya adalah operasi Aljabar
Boolean, teori graf, matematika diskrit, logika simbolik, peluang dan
statistika. Teknologi yang semakin berkembang ini menunjukkan
perkembangan manusia dalam menerapkan aplikasi matematika dalam
mengembangkan bidang lain.
2
Pada dasarnya computer adalah alat bantu untuk menyelesaikan
masalah. Dalam menyelesaikan suatu masalah dengan computer perlu
merumuskan langkah-langkah penyelesaiaan masalah dalam sekumpulan
instruksi. Sekumpulan instruksi yang dimengerti oleh computer disebut
dengan program. Agar program dapat dimengerti oleh computer program
harus ditulis dalam bahasa pemograman. Inilah yang disebut dengan bahasa
pemograman. Bahasa pemograman dibedakan menjadi bahasa tingkat
rendah(low level language):bahasa yang berorientasi ke mesin dan bahasa
tingkat tinggi(high level language) : bahasa yang berorientasi ke
manusia(seperti bahasa inggris).contoh bahasa pascal, bahasa C, dll.
Dengan berorientasi pada ilmu bahasa pemograman yang didapat pada
perkuliahan ,penulis mencoba membuat suatu program dengan judul segitiga
pascal dengan menggunakan bahasa pemrograman pascal. Segitiga pascal
merupakan suatu proses mencari faktor-faktor atau angka yang dibentuk dari
dua angka di atasnya. Segitiga membantu kita dalam hal menjabarkan hasil
perpangkatan dari sebuah variabel yang dikombinasikan dengan konstanta.
1.2 Rumusan Masalah
Berdasarkan uraian diatas maka rumusan masalah yang diangkat dalam
laporan praktikum Bahasa Pemrogaman I ini antara lain :
1. Bagaimana struktur program pascal berkaitan dengan mencari segitiga
pascal?
2. Bagaimana membuat algoritma berkaitan dengan mencari segitiga pascal?
3. Bagaimana membuat flowchart berkaitan dengan mencari segitiga pascal?
4. Bagaimana mencari segitiga pascal dengan menggunakan program turbo
pascal?
1.3 Manfaat dan Tujuan
1.3.1 Manfaat
Manfaat yang dapat diambil dari praktikum ini sebagi berikut :
1. Bagi Guru
3
Selain sebagai salah satu referensi juga sebagai masukan barharga
bagi guru untuk meningkatkan pengajaran bahasa pemrograman dan
dalam pembelajaran matematika terutama pada materi segitiga
pascal.
2. Bagi Siswa
Untuk mempermudah siswa dalam mencari segitiga pascal.
3. Bagi penulis
Sebagai wahana aplikasi teori dan pembelajaran pada praktikum
bahasa pemrograman dan digunakan sebagai syarat untuk
memenuhi tugas besar praktikum Bahasa Pemograman I.
1.3.2 Tujuan
Tujuan dari penulisan laporan praktikum ini adalah untuk
menginformasikan kepada pembaca mengenai bahasa pascal dan
program tentang menyelesaikan perhitungan tentang segitiga pascal,
yang meliputi : sejarah perkembangan bahasa pascal, struktur program
pascal, cara penulisan program pascal terutaman tentang segitiga pascal.
Tidak hanya itu, diharapkan dengan adanya laporan ini dapat
menambah wawasan pembaca dalam dunia pendidikan khususnya
dalam dunia pemograman.
1.4 Batasan Masalah
Tugas ini dibatasi pada cara mencari segitiga pascal dalam
pembelajaran matematika yaitu cara mencari segitiga pascal dengan
menggunakan program bahasa pascal If…then…else, For...to...do, dan Array.
4
BAB II
DASAR TEORI
2.1 Turbo Pascal
2.1.1 Bahasa Pascal
Pascal merupakan salah satu bahasa pemrograman tingkat
tinggi. Pemrograman tingkat tinggi menandakan bahwa Pascal banyak
menggunakan bahasa manusia dalam penulisan sintaksnya. Beberapa
bahasa pemrograman tingkat tinggi lainnya yang ada yaitu BASIC dan
DELPHI. Sedangkan bahasa pemrograman tingkat rendah yaitu bahasa
pemrograman yang masih banyak menggunakan tanda-tanda sehingga
bahasa ini cenderung lebih “kotor”. Beberapa bahasa pemrograman
tingkat rendah yang sering digunakan adalah C, C++ dan Java. Turbo
Pascal dan C merupakan program compiler. Compiler sendiri berarti
program yang menerjemahkan tulisan berupa kode program menjadi
bahasa mesin yang dapat dimengerti oleh komputer. Proses yang
dilakukan disebut compile atau compiling.
2.1.2 Sejarah Pascal
Pascal adalah bahasa pemrograman yang pertama kali di buat
oleh Profesor Niklaus Wirth, seorang anggota International Federation
of Information Processing (IFIP) pada tahun 1971. Dengan mengambil
nama dari matematikawan Perancis, Blaise Pascal, yang pertama kali
menciptakan mesin penghitung, Profesor Niklaus Wirth membuat
bahasa Pascal ini sebagai alat bantu untuk mengajarkan konsep
pemrograman komputer kepada mahasiswanya. Selain itu, Profesor
Niklaus Wirth membuat Pascal juga untuk melengkapi kekurangan-
kekurangan bahasa pemrograman yang ada pada saat itu.
2.1.3 Kelebihan dari bahasa pemrograman Pascal adalah:
5
1. Tipe Data Standar, tipe-tipe data standar yang telah tersedia pada
kebanyakan bahasa pemrograman. Pascal memiliki tipe data
standar: boolean, integer, real, char, string
2. User defined Data Types, programmer dapat membuat tipe data
lain yang diturunkan dari tipe data standar
3. 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
4. Terstruktur, memiliki sintaks yang memungkinkan penulisan
program dipecah menjadi fungsi-fungsi kecil (procedure dan
function) yang dapat dipergunakan berulang-ulang
5. Sederhana dan Ekspresif, memiliki struktur yang sederhana dan
sangat mendekati bahasa manusia (bahasa Inggris) sehingga mudah
dipelajari dan dipahami.
2.1.4 Prosedur pembuatan program pada Pascal
Beberapa langkah dalam proses pembuatan suatu program atau software :
1. Mendefinisikan masalah dan menganalisanya
Langkah awal yang harus dilakukan adalah mengidentifikasikan
masalah antara lain tujuan dari pembuatan program, parameter-
parameter yang digunakan, fasilitas apa saja yang akan disediakan
oleh program. Kemudian menentukan metode atau algoritma apa
yang akan diterapkan untuk menyelesaikan masalah tersebut dan
terakhir menentukan bahasa program yang digunakan untuk
pembuatan program.
2. Merealisasikan dengan langkah-langkah berikut :
Start
6
Desain Algoritma & Flowchart
Menulis program
Test Kebenaran Program
Dokumentasi
Arsip
2.1.5 Struktur Program Pascal
Struktur dasar dalam pemrograman pascal :
PROGRAM NamaProgram (FileList);
CONST(*Deklarasi Konstanta*)
TYPE(*Deklarasi Type*)
VAR(*Deklarasi Variabel*)
(*Definisi SubProgram*)
BEGIN(*Statemen*)
END.
2.1.6 Komponen Bahasa Pascal
Jenis-jenis data pacal yang dikenal dalam bahasa pascal antara lain :
a. Jenis data sederhana
1. Jenis data standar, yaitu :
Integer
Real
Karakter
Boolean
2. Jenis data yang non standar (used defined), yaitu :
Enumerated
Sub-range
7
b. Jenis data berstruktur, yaitu:
1. Jenis Data Pointer :
Array
Record
Set
File
2.1.6 Jenis Data Standart
2.1.6.1 Integer
Jenis data ini terdiri atas integer positif, integer negatif dan nol,
merupakan nilai bilangan bulat. Pada TURBO PASCAL jenis
data ini di bagi atas beberapa bagian, yaitu :
Tipe Ukuran memori (dalam byte)
Jangkauan nilai
BYTE 1 0..255
SHORTINT 1 -128..127
INTEGER 2 -32768..32767
WORD 2 0..65535
LONGINT 4 -2147483648..2147483647
Operator Integer terdiri atas : + , - , * , / , DIV dan MOD
Contoh :
VAR
Jumlah : byte;
BEGIN
Jumlah := 200;
WriteLn(‘Nilai JUMLAH = ‘,Jumlah);
END.
Hasilnya bila dijalankan : Nilai JUMLAH = 200
2.1.6.2 Real
8
Penulisan untuk jenis data ini selalu menggunakan titik desimal.
Nilai konstanta numerik real menunjukkan nilai 10 pangkat.
Nilai konstanta numerik real menempati memori sebesar 6 byte.
Pada TURBO PASCAL, jenis data ini dibedakan atas :
Tipe Ukuran memori (dalam byte)
Jangkauan nilai Digit signifikan
SINGLE 4 1.5x10E-45 .. 3.4x10E38
7-8
DOUBLE 8 5.0x10E-324 .. 1.7x10E308
15-16
EXTENDED 10 1.9x10E-4951 .. 1.1x10E4932
19-20
COMP 8 -2E+63+1 .. 2E+63-1
19-20
Operator untuk jenis data ini terdiri atas : + , - , * dan /
2.1.6.3 Karakter
Yang dimaksud dengan jenis data ini adalah karakter tunggal
atau sebuah karakter yang ditulis diantara tanda petik tunggal,
seperti misalnya ‘A’,’a’,’!’,’5’ dsb. Dasarnya adalah ASCII
CHARACTER SET.
Misalnya : 032 menunjukkan karakter Blank.
033 ------------------------- !
048 ------------------------- 0
076 ------------------------- L, dst
2.1.6.4 String
Nilai data string merupakan urut-urutan dari karakter yang
terletak di antara tanda petik tunggal. Nilai data string akan
menenpati memori sebesar banyaknya karakter stringnya
ditambah dengan 1 byte. Bila panjang dari suatu string di dalam
deklarasi variabel tidak disebutkan, maka dianggap panjangnya
adalah 255 karakter.
9
Contoh :
Var
Kampus : string[10];
Begin
Kampus := ‘UMM’;
Write(Kampus);
End.
2.1.6.5 Boolean
Jenis data ini mempunyai nilai TRUE atau FALSE.
Operator untuk jenis data ini adalah :
1. Logical Operator, yaitu : NOT, AND dan OR
2. Relational Operator, yaitu : >, <, >=, <=, <> dan =
2.1.6.6 Enumerated
Jenis data ini terdiri atas barisan identifier yang terurut dimana
setiap identifier tersebut dianggap sebagai suatu individual data
item (elemen data yang berdiri sendiri). Pada saat
mendeklarasikan jenis data ini kita harus menuliskan semua
elemen-elemennya.
Bentuk umum deklarasinya adalah :
TYPE nama = (data_item_1, data_item_2, … data_item_n);
Contoh :
TYPE hari = (sen,sel,rab,kam,jum,sab,ming);
TYPE warna = (red,blue,green,yellow,black,white);
Setelah jenis data ini dideklarasikan, maka selanjutnya kita
dapat mendeklarasikan suatu variabel yang berjenis data sama
dengan jenis data ini.
Misalnya :
TYPE nama_hari = (sen,sel,rab,kam,jum,sab,ming);
VAR libur : nama_hari;
Fungsi standar yang dapat digunakan pada jenis data ini adalah :
PRED, SUCC dan ORD
10
TYPE nama = data_item_pertama .. data_item_terakhir;
Misalnya :
PRED (sel) = sen → Sebelum Selasa
SUCC (sen) = sel → Setelah Senin
ORD (sen) = 0 → Senin Hari ke 0
ORD (sel) = 1 → Selasa hari ke 1
2.1.6.7 Sub-range
Jenis data ini berupa range dari suatu kumpulan data yang
mempunyai urutan..
Bentuk umum deklarasinya adalah :
Contoh :
1. TYPE
jam_kuliah = 1 .. 10;
tanggal = 1 .. 31;
abjad = ‘A’ .. ‘Z’;
2. TYPE
bulan = (jan,feb,mar,apr,mei,jun,jul,agt,sep,okt,nov,des);
hari = (sen,sel,rab,kam,jum,sab,ming);
ata = agt .. jan;
pta = feb .. jun;
hari_kerja = sen .. jum;
2.1.7 Algoritma
Algoritma adalah urutan langkah-langkah logika yang
menyatakan suatu tugas dalam menyelesaikan suatu masalah atau
problem.
Algoritma adalah sebuah strategi yang mengandalkan
kemampuan berpikir secara logis untuk memecahkan suatu masalah.
Dalam algoritma, kita mulai dengan berpikir apa yang kita miliki
11
(kekuatan dan kelemahan), selanjutnya kita atur langkah (aksi) agar
tujuan atau sasaran yang kita harapkan dapat terwujud.
Begitu juga dalam hal membuat program komputer. Ada
keterbatasan statemen yang disediakan, namun dengan keterbatasan itu
kita siasati langkah-langkah untuk mencapai hasil program yang sesuai
dengan keinginan. Misalnya di dalam bahasa pemrograman tidak ada
fungsi/prosedur bawaan yang mengkonversi nilai nominal mata uang
menjadi bentuk terbilang. Dengan menggunakan strategi/algoritma kita
dapat memecahkan persoalan tersebut dan dapat membuat programnya.
Namun demikian, awal pembuatan algoritma tidak perlu
memperhatikan statemen yang ada di suatu bahasa pemrograman karena
algoritma bersifat umum.
Kriteria dari suatu algoritma :
Input : algoritma dapat memilik nol atau lebih inputan dari luar.
Instruksi : sintaks (cara pengkodean) sesuai dengan bahasa
pemrograman yang dipakai dan mengandung komponen input,
output, proses, seleksi, dan perulangan yang menugaskan computer
untuk mengeksekusi suatu perintah tertentu.
Output : algoritma harus memiliki minimal satu buah
output/keluaran.
Definiteness (pasti): algoritma memiliki instruksi-instruksi yang
jelas dan tidak ambigu.
Finiteness (ada batas): algoritma harus memiliki titik berhenti
(stopping role).
Effectiveness (tepat dan efisien): algoritma sebisa mungkin harus
dapat dilaksanakan dan efektif.
2.1.8 Flowchart
12
Untuk menggambarkan sebuah algoritma yang terstruktur
dan mudah dipahami oleh orang lain (khususnya programmer yang
bertugas mengimplementasikan program), maka dibutuhkan alat bantu
yang berbentuk Diagram Alir (Flowchart). Diagram alir ini akan
menunjukkan alur di dalam program secara logika. Diagram alir ini
selain dibutuhkan sebagai alat komunikasi, juga diperlukan sebagai
dokumentasi.
Flowchart ini merupakan langkah awal pembuatan program.
Dengan adanya flowchart urutan poses kegiatan menjadi lebih jelas.
Jika ada penambahan proses maka dapat dilakukan lebih mudah.
Setelah flowchart selesai disusun, selanjutnya pemrogram
(programmer) menerjemahkannya ke bentuk program dengan bahasa
pemrograman.
Dalam pembuatan flowchart tidak ada rumus atau patokan
yang bersifat mutlak. Karena flowchart merupakan gambaran hasil
pemikiran dalam menganalisa suatu masalah dengan komputer.
Sehingga flowchart yang dihasilkan dapat bervariasi antara satu
pemrogram dengan pemrogram lainnya.
Namun secara garis besar, setiap pengolahan selalu terdiri
dari tiga bagian utama, yaitu :
Input : berupa bahan mentah
Proses : pengolahan
Output : berupa bahan jadi.
13
Simbol-simbol flowchart :
2.1.9 Pedoman Pembuatan Flowchart
Bila seorang analis dan programmer akan membuat flowchart, ada
beberapa petunjuk yang harus diperhatikan, seperti :
1. Flowchart digambarkan dari halaman atas ke bawah dan dari kiri ke
kanan.
2. Aktivitas yang digambarkan harus didefinisikan secara hati-hati dan
definisi ini harus dapat dimengerti oleh pembacanya.
3. Kapan aktivitas dimulai dan berakhir harus ditentukan secara jelas.
4. Setiap langkah dari aktivitas harus diuraikan dengan menggunakan
deskripsi kata kerja
5. Setiap langkah dari aktivitas harus berada pada urutan yang benar.
6. Lingkup dan range dari aktifitas yang sedang digambarkan harus
ditelusuri dengan hati-hati. Percabangan-percabangan yang
14
memotong aktivitas yang sedang digambarkan tidak perlu
digambarkan pada flowchart yang sama. Simbol konektor harus
digunakan dan percabangannya diletakan pada halaman yang
terpisah atau hilangkan seluruhnya bila percabangannya tidak
berkaitan dengan sistem.
7. Gunakan simbol-simbol flowchart yang standar.
2.2 Segitiga Pascal
Segitiga Pascal adalah suatu aturan geometri pada koefisien binomial
dalam sebuah segitiga. Hal ini dinamai setelah matematikawan Perancis Blaise
Pascal.
Barisan segitiga Pascal secara konvensional disebutkan mulai dengan n
baris = 0 di bagian atas. Masukan dalam setiap baris diberi nomor dari awal
kiri dengan k = 0 dan biasanya cenderung relatif terhadap angka-angka dalam
baris yang berdekatan. Sebuah konstruksi sederhana dari hasil segitiga dengan
cara sebagai berikut.
Pada baris 0, hanya menulis nomor 1. Kemudian, untuk membentuk
elemen-elemen baris berikut, tambahkan nomor secara langsung di atas dan ke
kiri dengan nomor langsung atas dan ke kanan untuk menemukan nilai baru.
Jika salah satu nomor ke kanan atau kiri tidak ada, pengganti nol di tempatnya.
Sebagai contoh, angka pertama pada baris pertama adalah 0 + 1 = 1,
sedangkan angka 1 dan 3 di baris ketiga ditambahkan untuk menghasilkan
nomor 4 di baris keempat.
15
2.3 Statement FOR … TO… DO
Statement FOR digunakan untuk melakukan pengulangan eksekusi terhadap
suatu pernyata. Pengendalian pengulangan ini dilakukan oleh <variable>
dengan jumlah pengulangan ditentukan oleh <nilai awal> dan <nilai akhir>.
For … to … digunakan untuk pengulangan secara menaik (ascending).
Bentuk Perulangan For – to – do :
FOR <nilai awal> TO <nilai akhir> DO
BEGIN <proses /code program yang diulang>;
END.
2.4 Statement IF…THEN…ELSE
Statement ini merupakan statement bersyarat yang akan mengeksekusi
pernyataan dibawahnya apabila syarat logika yang diberikan memenuhi.
Bentuk statement ini adalah:
IF<syarat logika> THEN<pernyataan>
Atau
IF<syarat logika>THEN<pernyataan 1>ELSE<pernyataan 2>
16
2.5 Array
Array adalah variabel yang dapat menyimpan lebih dari satu nilai sejenis.
Terdapat dua bagian penting yaitu elemen array yang merupakan nilai dan
indeks array yang merupakan nilai urut untuk mengakses nilai pada array.
Berikut ini contoh array A dengan 10 buah elemen tiap elemen memiliki nilai
antara 10 hingga 100.
Deklarasi Array :
Array dideklarasikan pada bagian deklarasi. Deklarasi umum dari array adalah
NamaArray : array [ IndeksAwal.. IndeksAkhir] of tipe_data;
A[1] A[2] A[3] A[4] A[5] A[6] A[7] A[8] A[9] A[10]1 2 3 4 5 6 7 8 9 10 10 20 30 40 50 60 70 80 90 100
17
BAB III
ALGORITMA DAN FLOWCHART PROGRAM
3.1 Algoritma Pada Program Segitiga Pascal
Berdasarkan dasar teori yang telah dicantumkan, algoritma dari program
segitiga pascal adalah sebagai berikut :
1. Start
2. Deklarasikan variabel x (hasil) dalam array [0..10, 0..10] of integer dan i
(indeks satu), j (indeks dua), n (jumlah baris) dalam integer.
3. Input n (jumlah baris)
4. Untuk i = 1 sampai dengan n lakukan langkah 5
5. Untuk j = 1 sampai dengan i lakukan langkah 6
6. Untuk j = 1 maka lakukan proses x [i, j] = 1, jika j = 1 maka lakukan
proses x [i, j] = 1, jika tidak memenuhi kedua kondisi lakukan langkah 7
7. Untuk i = 1 sampai n dan j = 1 sampai i lakukan proses x [i, j] = x [i – 1, j]
+ x [i – 1, j – 1]
8. Dari langkah 7 tampilkan atau cetak x [i, j]
9. Kemudian untuk i = 1 sampai n dan untuk j = 1 sampai i tampilankan atau
cetak lagi x [i, j]
10. Jika ingin mengulang ke program awal maka ketik ‘Y’ atau ’y’ untuk Ya
11. Dari langkah 10, jika tidak ingin mengulang maka ketik ‘N’ untuk Tidak
dan cetak Matuuuur Nuwuuuun
12. End.
18
3.2 Flowchart Pada Program Segitiga Pascal
19
BAB IV
PROGRAM DAN ANALISIS PROGRAM
4.1 Program
Berikut ini akan dipaparkan program Pascal tentang implementasi segitiga
pascal.
program segitiga_pascal;
uses wincrt;
label
48;
var
x:array [1..100,1..100] of integer;
i,j,n:integer;
pilih:char;
begin
48:
clrscr;
gotoxy(30,2);writeln('Menentukan Segitiga Pascal');
writeln;
writeln;
write('Masukkan Jumlah Baris : ');readln(n);
for i:=1 to n do
for j:=1 to i do
begin
if j=1 then x[i,j]:=1
20
else
if j=i then x[i,j]:=1
else
x[i,j]:=x[i-1,j]+x[i-1,j-1];
end;
for i:=1 to n do
begin
gotoxy(40-3*i,7+i);
for j:=1 to i do
write(x[i,j]:6);
end;
writeln;
writeln;
writeln;
writeln;
write('Apakah Anda Ingin Kembali? ');readln(pilih);
if (pilih = 'Y') or (pilih = 'y') then
goto 48
else
gotoxy(100,22);writeln(' -------------------^.^Matuuuur Nuwuuuuun ^.^-------------------- ');
end.
4.2 Analisa Program
program segitiga_pascal;
Kepala Program
uses wincrt;
21
Kepala program berisi judul program dan uses wincrt yang merupakan unit
yang digunakan dalam program. Memakai wincrt karena menggunkan PC
windows.
var
x:array [1..100,1..100] of integer;
i,j,n:integer; Variabel Program
pilih:char;
Variabel Program adalah bagian dimana kita mendefinisikan variable yang
akan digunakan. Variabel yang digunakan antara lain :
1. x (hasil) menggunakan didefinisikan sebagai array [1..100, 1..100] of
integer. Menggunakan array karena hasil pada segitiga pascal memiliki
ideks seperti matriks. Integer adalah bilangan bulat.
2. i (indeks awal), j (indeks akhir), dan n (banyak baris) menggunakan
integer.
3. Pilih menggunakan char karena pada saat menjalankan program,
pengguna cukup mengetikkan huruf yang disediakan.
Main Programnya adalah sebagai berikut :
begin
48:
clrscr;
gotoxy(30,2);writeln('Menentukan Segitiga Pascal');
writeln;
writeln;
write('Masukkan Jumlah Baris : ');readln(n);
for i:=1 to n do
for j:=1 to i do
begin
22
if j=1 then x[i,j]:=1
else
if j=i then x[i,j]:=1
else
x[i,j]:=x[i-1,j]+x[i-1,j-1];
end;
for i:=1 to n do
begin
gotoxy(40-3*i,7+i);
for j:=1 to i do
write(x[i,j]:6);
end;
writeln;
writeln;
writeln;
writeln;
write('Apakah Anda Ingin Kembali? ');readln(pilih);
if (pilih = 'Y') or (pilih = 'y') then
goto 48
else
gotoxy(100,22);writeln(' -------------------^.^Matuuuur Nuwuuuuun ^.^-------------------- ');
end.
Pada main program berisi perintah-perintah yang digunakan untuk
menghasilkan program segitiga pascal. Pada program tersebut Begin
merupakan setatement awal yang digunakan dalam pembuatan program dan
selalu diakhiri dengan end. Untuk writeln fungsinya sebagai pencetak kalimat
yang akan ditampilkan pada output. Sedangkan readln fungsinya
23
menerjemahkan atau membaca writeln. Karena writeln berupa kalimat, maka
readln akan membaca writeln sesuai dengan variabel yang kita buat.
Untuk memberikan judul pada output program, maka terlebih dahulu
mengetikkan “Menentukan Segitiga Pascal”. Agar tulisan berada ditengah
halaman output, maka digunakan gotoxy dengan x = 30 dan y = 2.
Langkah selanjutnya masukkan baris yang diinginkan (n). Setelah n
dimasukkan maka akan dilakukan perintah perulangan yang menggunakan
for…to…do. Yang pertama diulang untuk i = 1 sampai n dan yang kedua
diulang untuk j = 1 sampai i.
Setelah melakukan perulangan, ketikkan perintah pemilihan. Pada program
ini pemilihan yang digunakan adalah if…then…else. Jika kondisi pertama ( j
= 1) benar, maka lakukan proses x[i, j] = 1. Jika kondisi pertama salah, maka
lakukan kondisi kedua ( j = 1). Jika kondisi kedua bernilai benar maka lakukan
proses x[i, j] = 1. Dan jika pada kondisi kedua salah maka lakukan proses x [i,
j] = x [i-1, j] + x [i-1, j-1]. Setelah semua kondisi terpenuhi, lakukan perintah
perulangan lagi seperti peritah perulangan sebelumnya.
var
x:array [1..100,1..100] of integer;
i,j,n:integer;
pilih:char;
label
48;
Program diatas digunakan sebagai pendefinisian untuk pemanggilan
program. Pada baris pertama yaitu var digunakan untuk menyatakan type
data yang berbentuk huruf dan angka. Label yaitu untuk melakukan
perulangan pada daftar menu yang ditampilkan, dengan definisi 48 adalah
daftar menu yag akan diulang.
24
BAB V
PENUTUP
5.1 Kesimpulan
Pascal merupakan salah satu bahasa pemrograman tingkat tinggi.
Pemrograman tingkat tinggi menandakan bahwa Pascal banyak menggunakan
bahasa manusia dalam penulisan sintaksnya. Adapun ketentuan sebelum
membuat program:
1. Mendefinisikan masalah dan menganalisanya
2. Membuat Algoritma & Flowchart
3. Menulis program
4. Test Kebenaran Program
5. Dokumentasi
5.2 Saran
Penulis berharap dengan adanya laporan yang berjudul implementasi segitiga
pascal pada program turbo pascal ini dapat mempermudah dalam proses
pembelajaran. Sehingga mampu menjadi referensi bagi pembaca pada
umumnya.
25
DAFTAR PUSTAKA
1. Diakses pada 10 Desember 2010. Sejarah Turbo Pascal
(http://id.wikipedia.org/wiki/Turbo_Pascal)
2. Diakses pada 10 Desember 2010. Struktur Program Turbo Pascal
(http://blogv3.wordpress.com/2009/02/06/struktur-program-turbo-pascal/)
3. Diakses pada 10 Desember 2010. Pengertian Algoritma
(http://frandy.blog.binusian.org/2009/09/25/pengertian-algoritma/) 4. Diakses pada 10 Desember 2010. Rangkuman Materi Turbo Pascal
http://www.scribd.com/doc/27367932/Rangkuman-Materi-Turbo-Pascal 5. Edy Santoso, S.Si, M.Kom. 2010. Turbo Pascal For Windows Modul
Praktikum
6. Diakses pada 10 Desember 2010. Pengertian Flowchart
(http://www.slideshare.net/Mrirfan/flowchart-3191144)
26
LAMPIRAN
1. Program
program segitiga_pascal;
uses wincrt;
var
x:array [1..100,1..100] of integer;
i,j,n:integer;
pilih:char;
label
48;
begin
48:
clrscr;
gotoxy(30,2);writeln('Menentukan Segitiga Pascal');
writeln;
writeln;
write('Masukkan Jumlah Baris : ');readln(n);
27
for i:=1 to n do
for j:=1 to i do
begin
if j=1 then x[i,j]:=1
else
if j=i then x[i,j]:=1
else
x[i,j]:=x[i-1,j]+x[i-1,j-1];
end;
for i:=1 to n do
begin
gotoxy(40-3*i,7+i);
for j:=1 to i do
write(x[i,j]:6);
end;
writeln;
writeln;
writeln;
writeln;
28
write('Apakah Anda Ingin Kembali [Y/N]? ');readln(pilih);
if (pilih = 'Y') or (pilih = 'y') then
goto 48
else
gotoxy(100,22);writeln(' -------------------^.^Matuuuur Nuwuuuuun
^.^-------------------- ');
end.
2. Tampilan Awal
3. Masukkan n = 2
29
4. Lakukan Perulangan Program
5. Perulangan Kembali ke awal program
30
6. Tidak ingin mengulang