Alprog 2
Alprog 2
Alprog 2
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)
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_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")
9
4
4
Write (r_square)
Indeks=0
j=0
Indeks<
n
j<7
Indeks=indeks+1
J=j+1
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)
11
8. Perhitungan (y-ytopi)2 (Fitur loop, list, dan operasi aritmatika)
12. Output nilai r_kuadrat dan output tabel data (Fitur output, dan fitur
nested loop)
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
13
2. Masukkan jumlah data yaitu sebanyak 20 data sesuai pada tabel 2.1 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:
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
18
Email : [email protected]
Tugas : Laporan
19