BAB I PENDAHULUAN A. Tujuan 1) Untuk mengetahui algoritma dalam pascal. 2) Untuk mengetahui algoritma faktorial dalam pascal. 3) Untuk mengetahui alur penggunaan IF pada menentukan nilai deskriminan dan nilai akar pada persamaan kuadrat.
B. Landasan Teori Ditinjau 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 bahasaberusaha 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 AlKhuwarizmi. 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 lambatlaun kata Algorithm berangsur-angsur dipakai sebagai metode perhitungan (komputasi) secara umum, sehingga kehilangan makna kata aslinya. Dalam Bahasa Indonesia, kata Algorithm diserap menjadi algoritma. Bahasa Pemrograman pascal Struktur program pascal dapat dikelompokkan dalam tiga bagian, yaitu: 1. KepalaProgram 2. Bagian Deklarasi 3. Bagian Pernyataan/Statemen
1
Kepala program terdiri dari kata program dan nama program. Kepala program bisa tidak dituliskan. Bagian deklarasi berisi konstanta dan variabel yang akan dipakai. Bagian statemen berisi perintah-perintah yang harus harus dikerjakan dan dimengerti oleh bahasa Pascal. Percabangan I : If …. Then …. Else …..Pernyataan percabangan/kendali/bersyarat merupakan pernyataan yang akan mengeksekusi suatu pernyataan yang mengikutinya bila suatu persyaratan dipenuhi.Salah satu pernyataan kendali untuk pengambilan keputusan dalam pascal adalah pernyataan If … Then … Else … Bentuk umum : IF kondisi THEN Statemen 1 ELSE Statemen 2 dimana : kondisi : ungkapan boolen yang menghasilkan nilai benar atau salah statemen 1, statemen 2 : pernyataan-pernyataan tunggal/majemuk. Dalam pascal, pernyataan majemuk adalah kumpulan dari beberapa pernyataan yang diawali dengan kata baku BEGIN dan diakhiri oleh kata baku END, yang dianggap sebagai sebuah pernyataan tunggal.Maksudnya : bila kondisi bernilai TRUE (benar) maka akan dikerjakan statemen 1 dan statemen 2 dilewati, sedangkan jika kondisi bernilai FALSE (salah) maka akan dikerjakan statemen 2 dan statemen 1 dilewati.Untuk pernyataan IF yang berkalang (ada pernyataan IF yang lain dalam pernyataan IF), ELSE selalu berpasangan dengan dengan IF yang terletak sebelum dan yang paling dekat dengan ELSE tersebut, serta terletak dalam blok pernyataan yang sama. Contoh Faktorial : program fungsi_faktorial; uses wincrt; var x,n:integer; function faktorial(m:integer):longint; 2
begin if m=0 then faktorial:=1 else faktorial := m*faktorial(m-1); end; begin clrscr; writeln('masukkan banyaknya n faktorial:'); readln(n); for x:=1 to n do writeln(x,'!=',faktorial(x)); readln(x); end. Contoh Persamaan kuadrat : var a,b,c,d,x1,x2 :real; begin clrscr; writeln('Menghitung akar persamaan kuadrat'); writeln('Nilai a,b,c dimasukkan dengan jeda spasi'); write('Masukkan nilai a,b,c:'); readln(a,b,c); d:=b*b-4*a*c; if d<0 then writeln('tidak ada akar real') else begin x1:=(-b+sqrt(d))/(2*a); x2:=(-b-sqrt(d))/(2*a); writeln('x1 =',x1:6:2); writeln('x2 =',x2:6:2); end; 3
readln; end.
BAB II ISI 4
A. Listing Program program determinan; uses wincrt; var a,b,c,d:integer; x1,x2,x3,d0:real; begin writeln('menentukan nilai determinan dari persamaan kuadrat'); writeln('aX^2+bX+c=0'); write('masukkan nilai a:'); readln(a); write('masukkan nilai b:'); readln(b); write('masukkan nilai c:'); readln(c); d:=sqr(b)-4*a*c; writeln('nilai determinan:',d:3); writeln; if d=0 then begin writeln('mempunyai akar kembar'); writeln; x1:=(-b+sqrt(d))/(2*a); writeln('nilai akar pertama:',x1:0:2); writeln; x2:=(-b+sqrt(d))/(2*a); writeln('nilai akar kedua :',x2:0:2); end else if d>0 then 5
begin writeln('mempunyai dua akar berbeda'); writeln; x1:=(-b+sqrt(d))/(2*a); writeln('nilai akar pertama:',x1:0:2); writeln; x2:=(-b+sqrt(d))/(2*a); writeln('nilai akar kedua :',x2:0:2); end else begin writeln('mempunyai dua akar bernilai imajiner'); x1:=(-b)/(2*a); x3:=(sqrt(d0))/(2*a); d0:=-1*d; writeln('nilai akar pertama:',x1:0:2,'+',x3:0:2,'i'); writeln; x2:=(-b)/(2*a); x3:=(sqrt(d0))/(2*a); writeln('nilai akar kedua :',x2:0:2,'-',x3:0:2,'i'); writeln; end end.
B. Output Nilai Akar d=0
6
Nilai akar d>0
Nilai akar d<0 7
C. Flowchart Faktorial 8
x,n
0
Ya
1
Tidak
m*(m-1)
Determinan
9
a,b,c,d0,x1,x2,x3
x1=(b+sqrt(d))/2*a Ya x2=(-b+sqrt(d))/2*a
d=0 Tidak Tidak
d>0 Ya
x1=(b+sqrt(d))/2*a x2=(-b+sqrt(d))/2*a
x1=(b+sqrt(d))/2*a x2=(-b+sqrt(d))/2*a
D. Pembahasan Di dalam penerapan algoritma pascal dalam faktorial kita menggunakan bantuan fungsi IF … THEN …
ELSE,dan didalam penerepan di dalam menjalankan suatu 10
perintah atau mengeksekusi suatu kajian pendefinisian formula di dalam faktorial menggunakan m*(m-1). Fungsi penggunaan IF … THEN … ELSE adalah untuk membuat suatu persyaratan dimana dalam faktorial ini bila nilai masukkan yang kita ajukan adalah nol maka akan langsung dicetak akan tetapi bila nilai masukkan bukan nilai nol maka instruksi akan berlanjut ke tahap berikutnya maka akan di eksekusi dengan suatu formula berupa m*(m-1) maka hasil na akan di cetak setelah diproses dalam formula tersebut. Sedangkan untuk diskriminan kita masih menggunakan fungsi IF … THEN … ELSE di dalam persyaratannya dimana diketahui bahwasanya dalam menentukan nilai akar pada fungsi persamaan kuadrat adalah membutuhkan suatu diskriminan yang yag diskriminan di definisikan dengan d=b^2 – 4*a*c. Kemudian bila kita menginginkan nilai suatu diskriminan untuk melihat apakah akar pada persamaan kuadrat itu adalah akar kembar,akar berbeda atau akar imajiner,hal ini dapat dilihat dari nilai diskriminannya. Dalam hal ini bila d=0 maka ada nilai akar kembar,bila d>0 maka nilai akar ada dua akar yang berbeda sedangkan bila d<0 maka ada akar imajiner,untuk nilai akar berbeda maupun akar kembar memiliki nilai yang rill sedangkan untuk imajiner akan di dapat nilai komplek berupa keluarnya nilai I pada nilai akar imajiner tersebut.
BAB III PENUTUP A. Kesimpulan 11
Di dalam penerapan fungsi IF … THEN … ELSE dapat kita terapkan dalam penggunaan faktorial dan menentukan nilai suatu akar pada persamaan kuadrat dengan diketahui nilai determinannya. Fungsi IF … THEN … ELSE digunakan dalam penerapan faktorial dan menentukan nilai diskriminan disebabkan terdapat suatu permisalan yang memiliki lebih dari satu kali maka hal ini kita terapkan fungsi IF … THEN … ELSE.
Daftar Pustaka 1) http://www.ilkom.unsri.ac.id/dosen/dianpalupirini/materi/Alpro%201/ALGORIT MA,%20PEMROGRAMAN%20DAN%20BAGAN%20ALIR.pdf. 12
2) http://elearning.gunadarma.ac.id/docmodul/pengantar_metode_numerik/bab2 -akar_persamaan_non_linier.pdf.
13