Alprog 2

Unduh sebagai docx, pdf, atau txt
Unduh sebagai docx, pdf, atau txt
Anda di halaman 1dari 23

LAPORAN TUGAS BESAR

ALGORITMA DAN PEMROGRAMAN


PROGRAM KALKULATOR REGRESI LINIER
SEDERHANA
Untuk Memenuhi Tugas Mata Kuliah: Algoritma dan
Pemrograman
Dosen Pengampu: Thorikul Huda S.T., M.T.

Disusun Oleh:
Kelompok V
1. Nizar Rahman (04161048)
2. Muhamad Fikri (05161048)
3. Didit Junaidi (06161018)
4. Dea Cahya E. (08161018)
5. Rizky Risaldo (09161018)

INSTITUT TEKNOLOGI KALIMANTAN

2017

KATA PENGANTAR
Assalamualaikum Wr.Wb.
Puji syukur kita panjatkan kehadirat Allah SWT yang telah memberikan
rahmat serta hidayah-Nya sehingga dapat menyelesaikan laporan tugas besar ini.
Penulisan laporan ini dapat terselesaikan tepat waktu berkat bimbingan dan
pengarahan dari Dosen. Oleh karena itu pada kesempatan ini terima kasih kepada
Bapak Thorikul Huda S.T., M.T. yang telah memberikan bimbingan dan
pengarahan.
Laporan ini berisikan tentang hasil pembuatan program Kalkulator
Regresi Linier Sederhana dengan menggunakan program python. Menyadari
sepenuhnya bahwa laporan ini masih jauh dari kesempurnaan, untuk itulah
diharapkan saran dan kritik demi perbaikan dan kesempurnaan laporan ini.
Semoga laporan ini dapat menambah ilmu atau wawasan serta bisa
memberi manfaat bagi para pembacanya. Atas perhatiannya diucapkan terima
kasih.
Wassalamualaikum Wr. Wb.

i
Balikpapan, 20 Mei 2017

Penulis

i
DAFTAR ISI

KATA PENGANTAR..........................................................................................................i
DAFTAR ISIii
BAB I
PENDAHULUAN.............................................................................................................1
1.1 Latar Belakang...................................................................................................1
1.2 Tujuan dan Manfaat..................................................................................................1
1.3 Sistematika Penulisan...............................................................................................1
BAB II
PEMBAHASAN................................................................................................................3
2.1 Pseudocode..............................................................................................................3
2.2 Perancangan.............................................................................................................5
2.3 Implementasi..........................................................................................................11
BAB III
PENUTUP.......................................................................................................................17
3.1 Kesimpulan............................................................................................................17
3.2 Saran......................................................................................................................17
BAB IV
BIODATA........................................................................................................................18

ii
BAB I

PENDAHULUAN
1.1 Latar Belakang
Adanya program python dinilai sangat menguntungkan manusia, karena
program tersebut mampu menerjemahkan bahasa manusia kedalam bahasa
komputer sehingga manusia merasa diuntungkan dengan adanya program
tersebut. Akan tetapi masih banyak hal yang belum dipelajari oleh manusia
tentang bagaimana penggunaan bahasa pemrograman pascal yang baik dan benar
serta bagaiman cara memainkan logika yang baik dan benar. Oleh sebab itu
diadakan demonstrasi ini untuk mengetahui bagaimana menggunakan bahasa
pemrograman dan logika yang baik dan benar.
Suatu program yang dibuat dapat dikaitkan dengan hal-hal yang membantu
perhitungan analisa dalam pelajaran statistika. Statistika ini merupakan suatu ilmu
yang mempelajari tentang pengolahan data, penyajian data dan analisis data, salah
satuya ialah Regresi linear sederhana. Regresi linear sederhana merupakan
hubungan secara linear sederhana antara satu variabel (x) dengan variabel (y).
Analisis untuk mengetahui arah hubungan antara variabel (x) dan variabel (y)
memprediksi nilai yang positif atau negatif, dan nilai variabel tersebut mengalami
kenaikan atau penurunan. Dalam mata kuliah Pengantar metode Statistik, bab ini
merupakan pelajaran yang cukup sulit untuk dikerjakan secara manual oleh setiap
individu dan pengerjaannya menggunakan rumus yang cukup sulit. Hal inilah
yang melatar belakangi kelompok kami untuk membuat sebuah program untuk
mempermudah pengerjaan metode ini, yaitu Kalkulator Regresi Linear
Sederhana.
1.2 Tujuan dan Manfaat
Penyusun memiliki tujuan dan manfaat dalam penyusunan laporan ini. Berikut
tujuan dan manfaat:
1.2.1 Tujuan
Hal apapun yang dilakukan tentu memiliki tujuan/goals yang ingin diraih.
Begitupun dalam pembuatan program aplikasi ini. Tujuan yang ingin diraih, yaitu:
Untuk membuat Aplikasi Kalkulator.
Mengetahui kuat atau lemahnya pengaruh variabel X dan Y.
Menyajikan hasil data secara singkat.
Terpenuhinya Tugas Mata Kuliah Algoritma dan Pemrograman.
1.2.2 Manfaat
Manfaat dari penyusunan laporan ini adalah sebagai berikut:
Mengetahui proses dalam penggunaan Bahasa Pemrograman Python.
Sebagai sarana pembelajaran dalam mengaplikasikan ilmu yang tidak
diperoleh pada pembelajaran formal pada umumnya.
Membantu mempermudah dan mencari hasil data regresi linear sederhana.
Sebagai bahan referensi bagi dalam mengembangkan dan membuat program
aplikasi dengan menggunakan Bahasa Pemrograman Python.
1.3 Sistematika Penulisan
BAB I Pendahuluan
Berisi latar belakang, tujuan dan manfaat, serta sisetmatika pembuatan laporan.

1
BAB II Pembahasan
Berisi menjelaskan fitur-fitur yang dapat mendukung pokok pembahasan dari
karya tulis ini, mendeskripsikan perancangan aplikasi yang dituangkan dalam
bentuk algoritma program, serta cuplikan beberapa source code yang menjadi
fungsionalitas utama aplikasi.
BAB III Penutup
Berisi kesimpulan dari isi laporan yang telah disusun dan saran yang diberikan
terhadap isi dari laporan tersebut.
BAB IV Biodata
Berisi biodata dari anggota kelompok yang bersangkutan.

2
BAB II

PEMBAHASAN
Dalam bab ini dijelaskan tentang fitur pembuatan aplikasi, deskripsi, serta
cuplikan bebasis program pyhton yang akan dibahas selanjutnya yaitu
pseudocode, flowchart dan operasi aritmatika.
2.1 Pseudocode
Menurut wikipedia, pengertian pseudocode adalah deskripsi informal dan
ringkas atas algoritma pemrograman komputer menggunakan konvensi struktural
atas suatu bahasa pemrograman, dan ditujukan untuk dibaca oleh manusia dan
bukan oleh mesin. Pseudocode merupakan kode yang mirip dengan pemograman
sebenarnya. Dalam penulisan pseudocode tidak ada aturan yang baku, oleh karena
itu pseudocode biasanya ditulis berbasiskan bahasa pemograman yang akan
digunakan, misalnya Basic, pascal, C++ dan lain-lain. Sehingga lebih tepat
digunakan untuk menggambarkan algoritma yang akan dikomunikasikan kepada
programmer. Berikut bagian-bagian dari pseudocode yang digunakan yaitu input,
loop, array, dan selection.
Input digunakan untuk memasukkan data ke dalam program. Array adalah
kumpulan dari nilai-nilai data bertipe sama dalam urutan tertentu yang
menggunakan sebuah nama yang sama. Nilai-nilai data di suatu array disebut
dengan elemen-elemen array. Letak urutan dari elemen-elemen array ditunjukkan
oleh indeks. Pengulangan (loop) adalah struktur algoritma yang memungkinkan
adanya statement atau aksi yang dijalankan berkali-kali sampai kondisi
pengulangannya terpenuhi. Struktur ini merupakan cara yang efektif untuk
melakukan suatu proses yang memiliki pola yang sama dengan baris algoritma
lebih singkat. Dan selection yaitu instruksi yang dikerjakan dengan kondisi
tertentu. Kondisi adalah persyaratan yang dapat bernilai benar atau salah. Satu
atau beberapa instruksi hanya dilaksanakan apabila kondisi bernilai benar,
sebaliknya apabila salah maka instruksi tidak akan dilaksanakan. Berikut tampilan
pseudocode dari program yang dibuat:
Kalkulator_Regresi_Linear_Sederhana
{Diinput 2 jenis data sebanyak n kemudian ditentukan hubungan antara kedua
data tersebut}
Deklarasi:
1. data: array [0..n][0..6] of real
2. n: integer
3. Indeks: real
4. sigma_x: real
5. sigma_x_kuadrat: real
6. sigma_y: real
7. sigma_y_kuadrat: real
8. sigma_xy: real
9. b_satu: real
10. b_nol: real
11. sigma_y_min_topi: real
12. sigma_y_min_bar: real

3
13. r_square: real
14. j : real
Deskripsi:
1. read n
2. indeks=0
3. sigma_x=0
4. sigma_x_kuadrat=0
5. for indeks : 0 to n-1
6. read data [indeks][0]
7. data[indeks][2]=data[indeks][0]^2
8. sigma_x=sigma_x+data[indeks][0]
9. sigma_x_kuadrat=sigma_x_kuadrat+data[indeks][2]
10. endfor
11. indeks=0
12. sigma_y=0
13. sigma_y_kuadrat=0
14. for indeks : 0 to n-1
15. read data [indeks][1]
16. sigma_y=sigma_y+data[indeks][1]
17. endfor
18. indeks=0
19. sigma_xy=0
20. for indeks: 0 to n-1
21. data[indeks][3]=data[indeks][0]*data[indeks][1]
22. sigma_xy=sigma_xy+data[indeks][3]
23. endfor
24. b_satu=(sigma_xy-((sigma_x*sigma_y)/n))/(sigma_x_kuadrat-
(sigma_x^2/n))
25. b_nol=(sigma_y/n)-(b_satu*sigma_x/n)
26. indeks=0
27. for indeks: 0 to n-1
28. data[indeks][4]=b_nol+b_satu*data[indeks][0]
29. endfor
30. indeks=0
31. sigma_y_min_topi=0
32. for indeks: 0 to n-1
33. data[indeks][5]=(data[indeks][1]-data[indeks][4])^2
34. sigma_y_min_topi=sigma_y_min_topi+data[indeks][5]
35. endfor
36. indeks=0
37. sigma_y_min_bar=0
38. for indeks: 0 to n-1
39. data[indeks][6]=(data[indeks][1]-(sigma_y/n))^2
40. sigma_y_min_bar=sigma_y_min_bar+data[indeks][6]
41. endfor
42. r_square=1-(sigma_y_min_topi/sigma_y_min_bar)
43. write (r_square)

4
44. if(r_square>=0.75 and r_square<=1):
45. write("Variabel X sangat mempengaruhi variabel Y")
46. else
47. if(r_square>=0.5 and r_square<0.75)
48. write("Variabel X cukup mempengaruhi variabel Y")
49. else
50. if(r_square>=0.25 and r_sqaure<0.5)
51. write("Variabel X tidak terlalu berpengaruh terhadap variabel Y")
52. else
53. if(r_square>0 and r_square<0.25)
54. write("Variabel X sangat kecil sekali pengaruhnya terhadap variabel Y")
55. else:
56. write("Variabel X tak memiliki pengaruh terhadap variabel Y")
57. Indeks=0
58. j=0
59. for indeks: 0 to n-1
60. for j: 0 to 6
61. write (data[indeks][j],end=' ')
62. endfor
63. Write ()
64. endfor

2.2 Perancangan
Program Kalkulator Regresi Linier Sederhana merupakan program aplikasi
yang dibuat khusus untuk mengetahui kuat lemahnya pengaruh variable x dan y
yang terdapat di sebuah data. User atau operator perlu meng-input nominal bebas
pada program aplikasi ini, karena dengan otomatis akan diberitahu kuat lemahnya
nilai variable tersebut. Penghitungan telah dilakukan secara otomatis oleh
Program Aplikasi Kalkulator Regresi Linier Sederhana sehingga user atau
operator tidak perlu melakukan penghitungan manual yang dapat menyusahkan
user atau operator tersebut pada waktu-waktu tertentu. Program
Aplikasi Kalkulator Regresi Linier Sederhana telah dilengkapi dengan
penghitungan dari penambahan nilai terhadap, sehingga total nilai x dan y yang
ditampilkan merupakan total dari penambahan dan pengurangan variabel terhadap
x dan y dari setiap data. Berikut tampilan flowchart program ini:

5
6
1
1

indeks=0
sigma_y=0
sigma_y_kuadrat=0

Indeks<n

Indeks=indeks+1
Read data[indeks][1]

sigma_y=sigma_y+data[indeks][1]

indeks=0
sigma_xy=0

Indeks<n

Indeks=indeks+1
data[indeks][3]=data[indeks][0]*data[indeks][1]
sigma_xy=sigma_xy+data[indeks][3]

7
2

b_satu=(sigma_xy - ((sigma_x*sigma_y)/n))/(sigma_x_kuadrat - (sigma_x^2/n))

b_nol=(sigma_y/n) - (b_satu*sigma_x/n)

indeks=0

Indeks<=n

Indeks=indeks+1

data[indeks][4 ]=b_nol+b_satu*data[indeks][0]

indeks=0
sigma_y_min_topi=0

Indeks<=n

Indeks=indeks+1

data[indeks][5]=(data[indeks][1] - data[indeks][4])^2

Sigma_y_min_topi=sigma_y_min_topi+data[indeks][5]

indeks=0
sigma_y_min_bar=0

8
3

Indeks<n

Indeks=indeks+1

data[indeks][6]=(data[indeks][1]-(sigma_y/n))^2
sigma_y_min_bar=sigma_y_min_bar+data[indeks][6]

r_square=1-(sigma_y_min_topi/sigma_y_min_bar)

r_square>=0.75 A
and r_square<=1

write("Variabel X sangat
mempengaruhi variabel Y")

A r_square>=0.5 and r_square>=0.25 B


r_square<0.75 and r_sqaure<0.5

write("Variabel X tidak terlalu


write("Variabel X cukup berpengaruh terhadap variabel Y")
mempengaruhi variabel Y")

A r_square>0 and write("Variabel X tak memiliki


r_square<0.25 pengaruh terhadap variabel Y")

9
4
4

write("Variabel X sangat kecil sekali


pengaruhnya terhadap variabel Y")

Write (r_square)

Indeks=0
j=0

Indeks<
n

j<7

Indeks=indeks+1
J=j+1

write (data[indeks][j],end=' ')

Write ()

Stop

10
2.3 Implementasi
Di bawah ini disajikan cuplikan source code yang digunakan dalam membuat
program Kalkulator Regresi Linier Sederhana sebagai berikut:
1. Input Jumlah Data (Fitur Input)

2. Deklarasi Array Data (Fitur List 2 Dimensi dan Fitur Loop)

3. Input X, Perhitungan X2 dan X2 (Fitur input, loop, list, dan operasi


aritmatika)

4. Input Y, dan Perhitungan Y (Fitur input, Loop, list, dan operasi


aritmatika)

5. Perhitungan XY (Fitur loop, list, dan operasi aritmatika)

6. Perhitungan b1 dan b0 (Fitur operasi aritmatika)

7. Perhitungan ytopi (Fitur loop, list, dan operasi aritmatika)

11
8. Perhitungan (y-ytopi)2 (Fitur loop, list, dan operasi aritmatika)

9. Perhitungan (y-yrata-rata)2 (Fitur loop, list, dan operasi aritmatika)

10. Perhitungan r_kuadrat (Fitur operasi aritmatika)

11. Penentuan kategori r_kuadrat (Fitur selection dan fitur output)

12. Output nilai r_kuadrat dan output tabel data (Fitur output, dan fitur
nested loop)

Akan ditunjukkan langkah-langkah yang dikerjakan untuk menyelesaikan


kasus yang ada. Persoalan yang dibahas pada laporan kali ini adalah melakukan
analisa regresi sederhana untuk melihat ada tidaknya pengaruh dari Ukuran
Rumah (ribuan kaki persegi) terhadap Harga Rumah (ribuan dolar), seberapa
besar pengaruhnya dan menjelaskan proses perhitungannya dengan menggunakan
program python yang telah dibuat. Kasus yang akan diselesaikan sebagai berikut :
Tabel 2.1 Tabel Kasus Yang Akan Dianalisis

12
Rumah Ke Ukuran Rumah Harga Rumah
(X) (Y)
1 1.7 33
2 1.0 24
3 1.7 27
4 2.8 47
5 2.2 35
6 0.8 17
7 3.6 52
8 1.1 20
9 2.0 38
10 2.6 45
11 2.3 44
12 0.9 19
13 1.2 25
14 3.4 50
15 1.7 30
16 2.5 43
17 1.4 27
18 3.3 50
19 2.2 37
20 1.5 28

Adapun langkah-langkah yang dikerjakan untuk menyelesaikan kasus diatas


adalah sebagai berikut :
1. Buka program python yang telah telah dibuat di komputer dan muncul
tampilan seperti pada gambar:

Gambar 2.1 Tampilan Awal Program

13
2. Masukkan jumlah data yaitu sebanyak 20 data sesuai pada tabel 2.1 dan akan
muncul tampilan seperti pada gambar:

Gambar 2.2 Memasukkan Jumlah Data


3. Masukkan variabel ukuran rumah ke bagian data (X) dan akan muncul
tampilan seperti pada gambar:

Gambar 2.3 Masukkan Variable X


4. Masukkan variabel harga rumah ke bagian data (Y) dan akan muncul
tampilan seperti pada gambar:

14
Gambar 2.4 Masukkan Variable Y
5. Setelah memasukkan nilai variabel harga rumah ke bagian data (Y)
akan didapatkan hasil sebagai berikut:

Gambar 2.5 Hasil Data


Dari hasil diatas dapat diartikan bahwa Variabel X (Ukuran Rumah) dan
Variabel Y (Harga Rumah) dapat dikatakan hubungannya linear. Jika X (Ukuran
Rumah) semakin besar maka Y (Harga Rumah) juga semakin naik harganya.
Gambar diatas menjelaskan besarnya prosentase pengaruh variabel bebas
(Independent Variable) terhadap variabel terikat (Dependent Variable) yang
disebut koefisien determinasi yang merupakan hasil dari penguadratan R.
Koefisien determinasi (R square) mengukur keragaman Y (dalam hal ini Harga
Rumah) yang mampu dijelaskan oleh X (Ukuran Rumah) dalam model. R square
menunjukan kebaikan model, semakin besar R square semakin baik modelnya.

15
Nilai R square berada antara 0% sampai 100%. Berdasarkan Gambar 2.5 diatas
diperoleh koefisien determinasi (R square) sebesar 0,95. Artinya bahwa pengaruh
Ukuran Rumah terhadap Harga Rumah sebesar 95% sedangkan sisanya 5%
dijelaskan atau dipengaruhi factor lain. Hasil diatas sesuai dengan perhitungan
manual yang telah dilakukan penulis sebelum diuji pada program python.

16
BAB III

PENUTUP
3.1 Kesimpulan
Algoritma adalah urutan aksi-aksi yang dinyatakan dengan jelas dan tidak
rancu untuk memecahkan suatu masalah dalam rentang waktu tertentu. Setiap aksi
harus dapat dikerjakan dan mempunyai efek tertentu. Algoritma merupakan
logika, metode dan tahapan (urutan) sistematis yang di gunakan untuk
memecahkan suatu permasalahan. Operator akan lebih mudah dalam meneliti arah
hubungan antara variabel independen dengan variabel dependen apakah positif
atau negatif dan untuk memprediksi nilai dari variabel dependen apabila nilai
variabel independen mengalami kenaikan atau penurunan. Karena operator
tersebut hanya tinggal memasukkan satu variabel independen (X) dengan variabel
dependen (Y) dan apakah berpengaruh secara signifikan terhadap variabel
dependen (Y) langsung dikeluarkan. Signifikan berarti pengaruh yang terjadi
dapat berlaku untuk populasi (dapat digeneralisasikan). Waktu yang terpakai
dalam proses analisis menjadi jauh lebih efisien.
3.2 Saran
Menurut penulis ilmu tentang algoritma sangat penting untuk orang-orang
yang berkecimpung di dunia pemrograman, karna ilmu tentang algoritma sangat
berguna di dunia pemrograman. Dan program ini dapat didesain dengan tampilan
yang lebih baik dan lebih menarik lagi.

17
BAB IV

BIODATA

Nama : Nizar Rahman


NIM : 04161048
TTL : Balikpapan,17 Januari 1998
Alamat: Jl.RE Martadinata No.16 RT.16
Id Line: nyzar17
Email : [email protected]
Tugas : Print

Nama : Muhammad Fikri


NIM : 05161048
TTL : Balikpapan,08 Februari 1998
Alamat: Sepinggan, RT.34 No.100
Id Line: fikri49
Email : [email protected]
Tugas : Program & Pseudocode

Nama : Didit Junaidi


NIM : 06161018
TTL : Jembayan,13 Mei 1997
Alamat: Jl.Sei Wain KM.15 RT.033
Id Line: diditjunaidi
Email : [email protected]
Tugas : Flowchart

Nama : Dea Cahya E.


NIM : 08161018
TTL : Samarinda, 23 Oktober 1998
Alamat: JL.Sei Wain KM.15
Id Line: deace

18
Email : [email protected]
Tugas : Laporan

Nama : Rizky Risaldo


NIM : 09161068
TTL : Samboja,12 September 1998
Alamat: KM.15 Karang Joang
Id Line: bond-cell88
Email : [email protected]
Tugas : Power Point

19

Anda mungkin juga menyukai