Lokasi dan Waktu Penelitian Perangkat Keras yang Digunakan Use Case Diagram Activity Diagram Pseudo-Code

BAB III METODOLOGI PENELITIAN

3.1. Pendahuluan

Tujuan dari tesis ini untuk mendapatkan sebuah rancangan aplikasi penentu keterhubungan antara data mahasiswa dan masa studi dengan menggunakan algoritma regresi linier berganda. Data dikumpulkan dari database pendidikan akademik mahasiswa yang yang diwisuda periode I, II Tahun 2010 dan periode II Tahun 2011 di Sekolah Tinggi Teknik Harapan STTH Medan. Penulis memberikan tinjauan singkat dari beberapa analisis data yang digunakan pada penelitian ini.

3.2. Lokasi dan Waktu Penelitian

Penelitian dilakukan di Sekolah Tinggi Teknik Harapan Medan Kampus I Jl. Imam Bonjol No. 35 Medan dan Kampus II Jl. H.M. Jhoni No. 70 Medan. Lamanya waktu yang dibutuhkan untuk menyelesaikan penelitian ini selama 4 empat bulan yang dimulai pada awal Februari 2011 sampai dengan akhir Juni 2011.

3.3. Pelaksanaan Penelitian

3.3.1. Jenis dan Sumber Data

Jenis data yang dikumpulkan dalam penelitian ini adalah bersumber dari data sekunder yaitu data yang berasal dari jurnal, dokumen, dan peraturan yang ada di Sekolah Tinggi Teknik Harapan STTH Medan jurusan Teknik Informatika yang mendukung penelitian ini.

3.3.2. Teknik Pengumpulan Data

Teknik pengumpulan data yang digunakan dalam penelitian ini sebagai berikut : 1. Wawancara kepada pimpinan Sekolah Tinggi Teknik Harapan STTH Medan dan para stafnya untuk mendapatkan keterangan data serta informasi lainnya yang sesuai dengan kebutuhan penelitian. Universitas Sumatera Utara 2. Studi dokumentasi yaitu mengumpulkan database pendidikan mahasiswa mengenai rata-rata nilai UN, IP Komulatif IP Semester 1, 2 dan 3, jumlah sks mata kuliah yang diambil pada semester 4, dan pendidikan orang tua serta dokumentasi yang mendukung penelitian. 3. Untuk menghasilkan rancangan aplikasi penentu keterhubungan antara data mahasiswa dan masa studi tesis ini menggunakan 500 data mahasiswa data mahasiswa dapat dilihat dalam lampiran1. Selanjutnya 100 data mahasiswa data mahasiswa dapat dilihat pada lampiran 2 digunakan untuk menilai performansi prediksi masa studi mahasiswa.

3.4. Perangkat Lunak yang Digunakan

3.4.1. Bahasa Pemograman C++ Bahasa C dikembangkan di Bell lab pada tahun 1972 ditulis pertama kali oleh Brian W. Kernighan dan Denies M. Ricthie merupakan bahasa turunan atau pengembangan dari bahasa B yang ditulis oleh Ken Thompson pada tahun 1970 yang diturunkan oleh bahasa sebelumnya, yaitu BCL. Bahasa C pada awalnya dirancang sebagai bahasa pemograman yang dioperasikan pada sistem operasi UNIX. Bahasa C merupakan bahasa pemograman tingkat menengah yaitu di antara bahasa tingkat rendah dan tingkat tinggi yang biasa disebut dengan bahasa tingkat menengah. Bahasa C mempunyai banyak kemampuan yang sering digunakan diantaranya kemampuan untuk membuat perangkat lunak, misalnya dBase, Word Star dan lain-lain. Pada tahun 1980 seorang ahli yang bernama Bjarne Stroustrup mengembangkan beberapa hal dari bahasa C yang dinamakan “ C with Classes” yang pada mulanya di sebut “ a better C” dan berganti nama pada tahun 1983 menjadi C++ oleh Rick Mascitti, di buat di laboratorium Bell, ATT. Pada C++ ditambah konsep-konsep baru seperti class dengan sifat-sifatnya yang disebut dengan Object Oriented Programming OOP, yang mempunyai tujuan utamanya membantu dan mengelola program yang besar dan kompleks. Universitas Sumatera Utara Pada tesis ini penulis menggunakan bahasa pemograman C++ untuk mencari atau menentukan solusi dari sistem persamaan linier SPL dalam menentukan keterhubungan antara data mahasiswa dan masa studi dengan algoritma regresi linier berganda.

3.4.2. Paket Statistik Untuk Ilmu Sosial SPSS

SPSS Statistical Package for the Social Sciences ini awalnya dirancang untuk digunakan oleh ilmuwan sosial untuk menganalisa data. SPSS mengizinkan pengguna untuk menarik data dan menampilkan operasi analisis statistik yang rumit, seperti komputasi regresi dan menampilkan presentasi data grafis. Ini juga menggunakan inferensial yang rumit dan prosedur statistik yang multi variasi, seperti analisis varians ANOVA, analisis faktor, analisis kluster, dan analisis data katerogikal. SPSS 18.00 digunakan pada tesis ini untuk melakukan uji asumsi klasik regresi linier. Pengujian ini perlu dilakukan untuk mengetahui apakah koefisien regresi yang kita dapatkan telah sahih benar; dapat diterima.

3.5. Perangkat Keras yang Digunakan

Spesifikasinya perangkat keras yang digunakan dalam penelitian ini adalah sebagai berikut: 1. Prosessor : Intel ® Celeron ® 540 1.86 GHz. 2. RAM : 1 GB. 3. VGA 128.0 MB. Universitas Sumatera Utara

3.6. Use Case Diagram

Berikut ini adalah gambar 3.1. yang merupakan use case diagram yang dilakukan pada penelitian ini. Gambar 3.1. Use Case Diagram

3.7. Activity Diagram

Berikut ini alur kerja yang dilakukan pada penelitian ini yang digambarkan dalam activity diagram pada gambar 3.2. berikut: User Input data dari file txt Menghitung jumlah masing2 variabel Mencari nilai variable dengan mencari invers matriks Universitas Sumatera Utara Gambar 3.2. Activity Diagram Dari gambar 3.2. di atas dapat dijelaskan bahwa yang pertama kali dilakukan peneliti adalah mengidentifikasi masalah yang diteliti untuk diselesaikan yang tujuannya untuk membuat perancangan aplikasi dengan menggunakan bahasa pemograman C++ untuk mencari atau menentukan solusi dari sistem persamaan linier SPL dalam menentukan keterhubungan data mahasiswa dengan masa studi dengan menggunakan algoritma regresi linier berganda. Selanjutnya adalah input data dari file yang berextenxi txt .txt. Selanjutnya menghitung jumlah dari masing-masing variabel, kemudian diperoleh hasil persamaan normalnya. Langkah selanjutnya mencari nilai variabel dengan cara mencari invers matriks menggunakan Eliminasi Gauss Jordan. Langkah terakhir diperoleh koefisien regresi a, b1,b2,…, bn, yaitu dengan mengalikan invers matriks dengan persamaan matriks pada ruas kanan. Universitas Sumatera Utara

3.8. Pseudo-Code

Berikut ini adalah pseudocode bahasa pemograman C++ untuk mencari atau menentukan solusi dari sistem persamaan linier SPL dalam menentukan keterhubungan antara data mahasiswa dan masa studi adalah sebagai berikut : 1. Input data data dari file: char bacaFile char datafile{ char ch; char token[40000]; char tkn = token; fflushstdin; fp = fopendatafile,r; whilech = getcfp = EOF tkn++=ch; tkn=0; fclosefp; return token; } double num char input { char numstring[20]; char str; int len=0; str = input; Universitas Sumatera Utara while strchr0123456789-., str==0 str++; ifstrchr0123456789-., str { while isdigitstr || str==- || str==. { str++; len++; } strncpynumstring, str-len, len; numstring[len] = 0; mstr = str; } returnfloatatofnumstring; } int row char tempmstr { int p=0; while strchr0123456789-., tempmstr==0 tempmstr++; while tempmstr=\0{ if tempmstr == \n { p++; while strchr0123456789-., tempmstr==0 tempmstr++; } tempmstr++; } --tempmstr; ifisdigittempmstr p++; Universitas Sumatera Utara return p; } int columnchar tempmstr { int p=0; while strchr0123456789-., tempmstr==0 tempmstr++; while tempmstr=\n { iftempmstr==\t||tempmstr== { p++; while tempmstr==\t||tempmstr== tempmstr++; } else tempmstr++; } --tempmstr; iftempmstr== ||tempmstr==\t --p; return ++p; } Universitas Sumatera Utara void Matrix::inputDataunsigned int m, unsigned int n { row=m; column=n; for i=1; i=row; i++ for j=1; j=column; j++ element[i][j] = nummstr; } int main { char place[200]; char choice; coutInput where is place of the data : \n; coutExample : c:\\data\\file1.txt \n\n; cinplace; mstr = bacaFileplace; cout\n\nmstr; m=rowmstr; n=columnmstr; cout\n\nThe number of rows = m; cout\nThe number of column = n; data.inputDatam,n; … Universitas Sumatera Utara } 2. Menghitung jumlah dari masing-masing variabel : Matrix Matrix::calculateMatrix int comb { float sum; Matrix tempMAX,MAX; for i=1; i=row+1; i++ { j=1; while j=column+comb+column-1 { temp.element[i][j]=element[i][j]; if jcolumn j=column+comb fork=1; k=column-1; k++ forl=k; l=column-1; l++ { temp.element[i][j]=element[i][k]element[i][l]; j++; } if jcolumn+comb j=column+comb+column-1 fork=1; k=column-1; k++ { temp.element[i][j]=element[i][k]element[i][column]; Universitas Sumatera Utara j++; } j++; } if i==row+1{ fork=1; k=column+comb+column-1; k++{ sum=0; forl=1; l=row; l++ sum+=temp.element[l][k]; temp.element[i][k]=sum; } } } temp.row=row+1; temp.column=column+comb+column-1; return temp; } int main { … fori=n-1; i=1; i-- Universitas Sumatera Utara count+=i; calculateData=data.calculateMatrixcount; … } 3. Hasil persamaan normalnya : void Matrix::identifikasiVar int columnData, int n, int count { int i,j,k; char str[8], temp[8]; i=1; while i=columnData { ifi=n { strcpya[i],convertInti; i++; } else if i==n+1 { strcpya[i],y; i++; } Universitas Sumatera Utara else if in+1 i=n+1+count { forj=1; j=n; j++ fork=j; k=n; k++ { strcpystr,convertIntj; strcatstr,convertIntk; strcpya[i],str; i++; } } else { forj=1; j=n; j++ { strcpystr,convertIntj; strcatstr,y; strcpya[i],str; i++; } } } fori=1; i=n+1; i++ { k=1; Universitas Sumatera Utara forj=1; j=n+1+1; j++ { if i==1 { if j==1 persamaanMatrix.element[i][j]=row-1; else persamaanMatrix.element[i][j]=element[row][j-1]; } else { itoai-1, temp, 10; whilestrstra[k],temp==0 k++; persamaanMatrix.element[i][j]=element[row][k]; k++; } } } persamaanMatrix.row=n+1; persamaanMatrix.column=n+1+1; } void Matrix::parsingMatrix { Universitas Sumatera Utara Matrix tempMAX,MAX; for i=1; i=row; i++ for j=1; j=column-1; j++ coefisient.element[i][j]=element[i][j]; coefisient.row = row; coefisient.column = column-1; fori=1; i=row; i++ ruasKanan.element[i][1]=element[i][column]; ruasKanan.row = row; ruasKanan.column = 1; } int main { … calculateData.identifikasiVarn+count+n-1,n-1,count; persamaanMatrix.parsingMatrix; … } 4. Mencari nilai variabel dengan mencari invers matrix menggunakan Eliminasi Gauss Jordan : Universitas Sumatera Utara Matrix Matrix::inversMatrix { foat kali, temp; int i,j,k,sign,n=row; Matrix identitasMAX,MAX; fori=1;i=n;i++ forj=1;j=n;j++ { ifi==j identitas.element[i][j]=1; else identitas.element[i][j]=0; } fori=1; i=n; i++ { if element[i][i]==0 { sign=0; j=i+1; while sign==0 { ifelement[j][i]=0 fork=1; k=n; k++ { Universitas Sumatera Utara temp=element[i][k]; element[i][k]=element[j][k]; element[j][k]=temp; temp=identitas.element[i][k]; identitas.element[i][k]=identitas.element[j][k]; identitas.element[j][k]=temp; sign=1; } else j++; ifjn { cout\n\nMatrix has not Invers..; getch; exit0; } } } kali=1element[i][i]; forj=1; j=n; j++ { element[i][j]=kalielement[i][j]; Universitas Sumatera Utara identitas.element[i][j]=kaliidentitas.element[i][j]; } fork=i+1;k=n;k++ ifelement[k][i]=0 { kali=element[k][i]; forj=1; j=row; j++ { element[k][j]=element[k][j]-kalielement[i][j]; identitas.element[k][j]=identitas.element[k][j]- kaliidentitas.element[i][j]; } } } fori=n; i1; i-- { fork=i-1;k=1;k-- ifelement[k][i]=0 { kali=element[k][i]; forj=1; j=n; j++ { element[k][j]=element[k][j]-kalielement[i][j]; identitas.element[k][j]=identitas.element[k][j]- kaliidentitas.element[i][j]; } } Universitas Sumatera Utara } identitas.row=identitas.column=n; return identitas; } int main { … invers=coefisient.inversMatrix; persamaanMatrix.parsingMatrix; … } 5. Diperoleh koefisien regresi a, b1, b2, b3, …, bn, yaitu dengan mengalikan invers matrix dengan persamaan matrix pada ruas kanan. Matrix Matrix::operatorconst Matrix M { unsigned int i, j, k; Matrix Rrow, M.column; for i = 1; i = row; i++ { for j = 1; j = M.column; j++ { Universitas Sumatera Utara R.element[i][j] = 0; for k = 1; k = column; k++ { R.element[i][j] += element[i][k] M.element[k][j]; } } } return R; } int main { … variabel=inversruasKanan; … } Universitas Sumatera Utara BAB IV HASIL DAN PEMBAHASAN

4.1. Pendahuluan