• Tidak ada hasil yang ditemukan

Implementasi Kriptografi Untuk Pengamanan Data Komputer. Menggunakan Algoritma Advanced Encryption Standard (AES) Rijndael 128 Bit.

N/A
N/A
Protected

Academic year: 2021

Membagikan "Implementasi Kriptografi Untuk Pengamanan Data Komputer. Menggunakan Algoritma Advanced Encryption Standard (AES) Rijndael 128 Bit."

Copied!
90
0
0

Teks penuh

(1)
(2)
(3)
(4)
(5)

75

Implementasi Kriptografi Untuk Pengamanan Data Komputer

Menggunakan Algoritma Advanced Encryption Standard (AES) Rijndael 128 Bit

Darpi

Program Studi S1 Teknik Informatika Sekolah Tinggi Ilmu Komputer Al-Khairiyah Jalan H.Enggus Arja No. 1 Lingk. Citangkil Cilegon 42443

email : darpisupriyanto@yahoo.co.id

Abstrak

Keamanan data secara tidak langsung dapat memastikan kontinuitas bisnis, mengurangi resiko, mengoptimalkan return on investment dan mencari kesempatan bisnis. Semakin banyak informasi perusahaan yang disimpan, dikelola dan di-sharing maka semakin besar pula resiko terjadinya kerusakan, kehilangan atau ter-ekspos-nya data ke pihak eksternal yang tidak diinginkan. Kebocoran data rahasia, baik karena ketidaksengajaan atau karena rencana jahat, bisa membawa akibat serius bagi perusahaan manapun, risiko terburuknya bahkan bisa membuat bangkrut perusahaan.

Untuk melakukan pengamanan data komputer adalah dengan menggunakan sebuah algoritma Kriptografi yaitu sebuah algoritma yang digunakan untuk melakukan enkripsi dan deskripsi data. Kriptografi merupakan ilmu mengenai teknik enkripsi dimana data diacak menggunakan suatu kunci enkripsi menjadi sesuatu yang sulit dibaca oleh seseorang yang tidak memiliki kunci dekripsi.

Metode yang digunakan dalam penelitian ini dengan algoritma Advanced Encryption Standard (AES) Rijndael 128 Bit. Algoritma AES:Rijndael dirancang untuk memiliki properti ketahanan terhadap semua jenis serangan yang diketahui, kesederhanaan rancangan, dan kekompakan kode serta kecepatan koputasi pada berbagai platform.

(6)

76 1. Pendahuluan

Keamanan data secara tidak langsung dapat memastikan kontinuitas bisnis, mengurangi resiko, mengoptimalkan return on investment dan mencari kesempatan bisnis. Semakin banyak informasi perusahaan yang disimpan, dikelola dan di-sharing maka semakin besar pula resiko terjadinya kerusakan, kehilangan atau ter-ekspos-nya data ke pihak eksternal yang tidak diinginkan.

Teknologi bukanlah satu-satunya aspek yang harus kita perhatikan ketika mempertimbangkan serta memikirkan bagaimana cara yang paling baik untuk memastikan bahwa data dan informasi perusahaan tidak diakses oleh pihak-pihak yang tidak memiliki hak. Proses dan manusia adalah dua aspek yang tidak kalah pentingnya.

Kebocoran data rahasia, baik karena ketidaksengajaan atau karena rencana jahat, bisa membawa akibat serius bagi perusahaan manapun, risiko terburuknya bahkan bisa membuat bangkrut perusahaan. Menurut IDC, enkripsi, yaitu salah satu cara paling efektif dan andal dalam perlindungan data, menjadi semakin popular.

Enskripsi merupakan bagian dari cabang kriptografi, dimana algoritma kripstografi untuk penyandian telah mengalami perkembangan dan perbaikan dari masa ke masa. Sehingga proses tersebut menghasilkan algoritma seperti DES, IDEA, RSA dan lain-lain. AES lahir pada November 2001 dengan pencetus Rijmen dan Daemen (Rijndael) cukup mengejutkan dunia kriptografi. Karena pada saat itu menyisihkan empat finalis algoritma lainnya yang cukup populer yaitu MARS, RC6,

Serpent, dan Twofish. Algoritma AES:Rijndael dirancang untuk memiliki properti ketahanan terhadap semua jenis serangan yang diketahui, kesederhanaan rancangan, dan kekompakan kode serta kecepatan koputasi pada berbagai platform.

2. Landasan Teori

(7)

77

Sebelum kita membuat suatu program untuk memecahkan masalah yang sedang dibahas, terlebih dahulu kita menyusun langkah-langkah instruksi dalam pemecahan tersebut, yang dikenal sebagai algoritma. Cara penulisan algoritma untuk membuat suatu program komputer haruslah benar-benar tepat, karena program tersebut tidak akan bisa berjalan dengan baik hanya karena salah penulisan kode (pengkodean). Jadi seseorang programer harus bisa menuliskan setiap segi dari permasalahan yang akan dibahas / dipecahkan dalam algoritma dengan benar-benar tepat dan teliti. Menurut Rinaldi Munir (2002 :5) :

“Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis”.

“Algoritma merupakan suatu prosedur yang tepat untuk mendapatkan pemecahan masalah dengan bantuan komputer serta dengan mengguanakan suatu bahasa pemrograman tertentu”

Algoritma mempunya beberapa karakteristik, diantaranya adalah : a. Input

Masukan berupa data-data yang penting sehingga menjadi sebuah informasi, terdapat nol atau lebih masukan yang diberikan secara eksternal.

b. Output

Keluaran dari sebuah masukan data dan ini cenderung dapat memberi manfaat dibandingkan sebelumnya, sedikitnya terdapat satu keluaran yang harus dikeluarkan.

c. Definite

(8)

78

a. Efective

Setiap instruksi harus dapat dilakukan secara manual menggunakan pensil atau kertas dalam sejumlah waktu berhingga.

b. Terminate

Terdapat mulai dan berhentinya program setelah beberapa eksekusi dilakukan, sebuah program harus memiliki tipe ini karena setiap program pasti ada mulai dan pasti akan berakhir pula.

2.2 Pengertian Kriptografi

“Kriptografi, secara umum adalah ilmu dan seni untuk menjaga kerahasiaan berita [bruce Schneier - Applied Cryptography]. Selain pengertian tersebut terdapat pula pengertian ilmu yang mempelajari teknik-teknik matematika yang berhubungan dengan aspek keamanan informasi seperti kerahasiaan data, keabsahan data, integritas data, serta autentikasi data”

“Kriptografi berasal dari bahasa Yunani, Menurut bahasanya, istilah tersebut berasal terdiri dari kata kripto dan graphia. Kripto berarti secret (rahasia) dan graphia berarti writting (tulisan). Menurut terminologinya, kriptografi adalah ilmu dan seni untuk menjaga keamanan pesan ketika pesan dikirim dari suatu tempat ke tempat yang lain”. Dony Ariyus (2009 : 19).

“Kriptografi adalah ilmu mengenai teknik enkripsi dimana data diacak menggunakan suatu kunci enkripsi menjadi sesuatu yang sulit dibaca oleh seseorang yang tidak memiliki kunci dekripsi”. Sentot Kromodimoeljo(2010:25)

“kriptografi merupakan ilmu matematika yang berhubungan dengan transformasi data untuk membuat artinya tidak dapat dipahami (untuk menyembunyikan maknanya), mencegahnya dari perubahan tanpa izin, atau mencegahnya dari penggunaan yang tidak sah”.

Dari keempat definisi tentang Kriptografi diatas penulis menyimpulkan bahwa pengertian Kriptografi adalah studi matematika yang mempunyai hubungan dengan aspek keamanan informasi seperti integritas data dan keaslian data.

Dalam penerapnnya, kriptografi merupakan suatu metode enskripsi atau penyandian data yang hanya diketahui atau berarti oleh suatu kelompok pengguna tertentu. Metode ini dikenal sejak lama, salah satu contoh penggunaannya pada masa ke-Kaisaran Romawi Kuno. Pada waktu itu julius Caesar tidak menginginkan berita

(9)

79

atau pesan yang dibawa oleh kurir-kurirnya jatuh kepada pihak lawan. Oleh karena itu, beliau menggunakan sistem subsitusi sederhana, yang kini disebut dengan Caesar

cipher. Algoritma sistem Caesar ini sangat sederhana, yaitu setiap huruf digeser atau ditambah tiga dengan modulo 26 sehingga huruf A menjadi D, huruf B menjadi E dan seterusnya.

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z D E F G H I J K L M N O P Q R S T U V W X Y Z A B C

Gambar 1. Subtitusi Caesar Chiper (n+3) 2.3 Tujuan Kriptografi

Algoritma kriptografi terus berkembang sesuai perkembangan teknologi komunikasi data. Sampai saat ini terdapat berbagai macam algoritma dengan tujuan penggunaan yang berbeda. Seperti digunakan enkripsi data, gambar atau suara. Namun tujuan utama dari masing-masing algoritma adalah sama yaitu :

a. Kerahasiaan data

Kerahasiaan data digunakan untuk menjaga isi informasi dari semua pihak kecuali pihak yang berhak mendapatkan informasi tersebut saja. Ada beberapa cara dalam menjaga kerahasiaan informasi, mulai dari proteksi fisik seperti penyimpanan data ditempat khusus sampai kepada algoritma matematika yang menguba data informasi terang (data asli) menjadi data acak.

b. Integritas data

Integritas data bertujuan untuk menjaga adanya perubahan yang tidak diinginkan terhadap data. Untuk menjamin integritas data, maka diperlukan pengetahuan dalam memproteksi perubahan data oleh sekelompok orang yang tidak

(10)

80

berkepentingan. Perubahan data bisa berupa pemasukan data baru, penghapusan atau penukaran data.

c. Keaslian data

Keaslian data berhubungan dengan identifikasi, dimana fungsi ini berlaku untuk pelaku dan informasi itu sendiri. Dua pihak yang ingin bergabung dalam sebuah komunikasi harus mengidentifikasi satu sama lainnya. Informasi yang dikirim dalam sebuah paket harus diidentifikasi sesuai dengan keasliannya.

2.4 Komponen Kriptografi

Pada dasarnya, Kriptografi terdiri dari beberapa komponen seperti :

a. Enkripsi : Enkripsi merupakan hal yang sangat penting dalam kriptografi sebagai pengamanan atas data yang dikirim agar rahasianya terjaga. Pesan aslinya disebut plaintext yang diubah menjadi kode-kode yang tidak dimengerti. Enkripsi bisa diartikan sebagai chiper atau kode. Seperti ketika kita tidak mengerti akan arti sebuah kata, kita bisa melihatnya di dalam kamus atau daftar istilah . berbeda dengan enskripsi, untuk mengubah plaintext ke bentuk chipertext digunakan algoritma yang bisa mengkodekan data yang diinginkan. b. Dekripsi : dekripsi merupakan kebalikan dari enkripsi, pesan yang telah

dienkripsi dikembalikan ke bentuk asalnya (Plaintext), yang disebut dengan dekripsi pesan. Algoritma yang digunakan untuk dekripsi tentu berbeda-beda dengan yang digunakan enkripsi.

c. Kunci : kunci yang dikamsud di sini adalah kunci yang dipakai untuk melakukan enkripsi dan dekripsi. Kunci terbagi menjadi dua bagian yaitu kunci pribadi (private key) dan kunci umum (publik key).

d. Chipertext : merupakan suatu pesan yang sudah melalui proses enkrisi. Pesan yang ada pada chipertext tidak bisa dibaca karena berisi karakter-karakter yang tidak memiliki makna (arti).

e. Pesan : pesan bisa berupa data atau informasi yang dikirim (melalui kurir, saluran komunikasi data, dsb) atau yang disimpan di dalam media perekaman (kertas, storage, dsb).

f. Criytanalysis : bisa diartikan sebagai analisis sandi atau suatu ilmu untuk mendapatkan plaintext tanpa harus mengetahui kunci secara wajar. Jika suatu

chipertext berhasil menjadi plaintext tanpa menggunakan kunci yang sah, maka proses tersebut dinamakan breaking code yang dilakukan oleh para cryptanalys. Analisis sandi juga mampu menemukan kelemahan dari suatu algoritma

(11)

81

kriptografi dan akhirnya bisa menemukan kunci atau plaintext dari chipertext

yang dienkripsi menggunakan algoritma tertentu.

1) Representasi Data

AES merepresentasikan data dengan cara urutan byte dan bit (0 atau 1 pada bn), dimana data diturunkan dari urutan input 128 bit per blok. Bit-bit

tersebut diberi indeks mulai dari 0 sampai dengan 127 (0 ≤ i < 128). Setiap urutan 8 bit (1 byte) diberlakukan sebagai entitas tunggal yang merupakan elemen finited field dengan representasi polinomial pada persamaan berikut ini :

b(x)=b7x7+ b6x6+ b5x5+ b4x4+ b3x3+ b2x2+ b1x+ b0

Pengindeksan bite dalam byte pada block dapat dilihat pada Tabel 2. Tabel 2. Pengindeksan bit dalam byte pada block

Urutan bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ...

Input Input 0 Input 1 ...

Posisi bit/ byte 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 ...

State State 0 State 1 ...

Chiper AES dilakukan pada array byte 2 dimensi yang disebut state.

Block data disusun dalam state yang terdiri atas empat baris Nb byte (Nb=

panjang block / 4 adalah 4 untuk AES-128). Setiap byte diberi dua indeks yang menyatakan posisinya, dinyatakan sebagai sr,c atau s[r,c], dengan indeks baris r

(rows) dalam interval 0 ≤ r< 4, sedangkan indeks kolom c (column) dalam 0 ≤

c<Nb. Data dalam state menginformasikan hasil setiap tahap transformasi

(intermediate result).

Input dikopi ke state array pada permulaan cipher dan inverse cipher, kemudian state diperbaharui pada akhir setiap transformasi. State juga dapat dipandang sebagai word 4 byte, dengan indeks baris r dari sr,c menyatakan indeks

dari keempat byte dalam setiap word. Dengan kata lain , state ekivalen dengan

array dari empat word yang berindeks c (indeks kolom dari sr,c) seperti terlihat

(12)

82 0,0 S0,1 S0,2 S0,3 1,0 S1,1 S1,2 S1,3 S2,0 S2,1 S2,2 S2,3 S3,0 S3,1 S3,2 S3,3 W0 W1 W2 W3

Gambar 3. state Array ekivalen pada word array 2) Ekspansi Kunci

Algoritma Rijndael melaksanakan cipher key dan membuat suatu ekspansi kunci untuk menghasilkan suatu key schedule. Jika ekspansi kunci yang diperlukan Rijndael Nb(Nr+1) word, sehingga bisa digunakan AES 128 bit, maka 4(10+1)=40 word = 44 x 32 bit = 1408 bit subkey. Ekspansi 128 menjadi 1408

bit subkey, proses ini disebut dengan key schedule, subkey ini diperlukan karena setiap round merupakan suatu inisial dari Nb word untuk Nr=0 dan Nb untuk Nr=1,3 untuk Nr=2, dst, dari operasi ini akan didapatkan schedule kunci yang berisi array linier 4 byte word (w1), 0=i(Nr+1).

3) Enkripsi dan Dekripsi

a) Transformasi SubBytes.

Transformasi SubBytes memetakan setiap byte dari array state dengan menggunakan tabel subtitusi S-Box. Tidak seperti DES yang mempunyai S-Box

berbeda pada setiap putaran. Rijndael hanya memiliki satu buah. Tabel yang digunakan adalah :

(13)

83

Tabel 3. S-Box Rijndael

Cara pensubtitusian adalah sebagai berikut :

Jika setiap byte pada arraystate S[r,c]=xy, xy adalah digit heksadesimal dari nilai S[r,c] maka nilai subtitusinya dinyatakan dengan S’[r,c] adalah elemen di dalam S-Box yang merupakan perpotongan baris x dan kolom y

(14)

84

SubBytes merupakan transformasi byte dimana setiap elemen pada state akan dipetakan dengan menggunakan sebuah tabel substitusi (S-Box). Hasil yang didapat dari pemetaan dengan menggunakan tabel S-Box ini sebenarnya adalah hasil dari dua proses transformasi bytes, yaitu :

(a) Invers perkalian dalam GF(28)

Invers perkalian dalam GF(28) adalah fungsi yang memetakan 8 bit ke 8 bit yang merupakan invers dari elemen finite field tersebut. Suatu byte a merupakan invers perkalian dari byte b bila a•b = 1, kecuali {00} dipetakan ke dirinya sendiri. Setiap elemen pada state akan dipetakan pada tabel

invers. Sebagai contoh, elemen “01010011” atau {53} akan dipetakan ke

{CA} atau “11001010”.

(b) Transformasi affine pada stat

Transformasi affine pada state yang telah dipetakan. Transformasi affine ini apabila dipetakan dalam bentuk matriks adalah sebagai berikut :

                                                                                                           0 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 0 0 0 0 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 0 0 0 1 7 6 5 4 3 2 1 0 ' 7 ' 6 ' 5 ' 4 ' 3 ' 2 ' 1 ' 0 b b b b b b b b b b b b b b b b

Gambar 5. Matriks Affine

b7 b6 b5 b4 b3 b2 b1 b0 adalah urutan bit dalam elemen state atau array byte

dimana b7adalah most significant bit atau bit dengan posisi paling kiri.

(15)

85

Transformasi Shiftrows melakukan pergeseran secara wrapping pada 3 (tiga) baris terakhir dari array state. Jumlah pergeseran bergantung pada nilai baris r. Baris r=1 digeser sejauh 1 byte, baris r=2 digeser sejauh 2 byte, dan baris r=3 digeser sejauh 3 byte. Baris r=0 tidak digeser.

S0,0 S1,0 S2,0 S3,0 S0,1 S1,1 S2,1 S3,1 S0,2 S1,2 S2,2 S3,2 S0,3 S1,3 S2,3 S3,3 S0,0 S1,0 S2,0 S3,0 S0,1 S1,1 S2,1 S3,1 S0,2 S1,2 S2,2 S3,2 S0,3 S1,3 S2,3 S3,3 S S’

Gambar 6. Transformasi ShiftRows

c) Transformasi MixColumns.

Transformasi MixColumns mengalikan setiap kolom dari array state dengan polinom n(x)mod(x4+1). Setiap kolom diperlakukan sebagai polinom 4-suku pada GF(28). Polinom a(x) yang ditetapkan adalah :

a(x)={03}x3+{01}x2+{01}x+{02}

Transformasi ini dinyatakan sebagai perkalian matrik : S’(x)=a(x)⊕s(x) [ 𝑠0,𝑐 𝑠1,𝑐 𝑠2,𝑐 𝑠3,𝑐] = [ 02 03 01 01 01 02 03 01 01 01 02 03 03 01 01 02 ] [ 𝑠0,𝑐 𝑠1,𝑐 𝑠2,𝑐 𝑠3,𝑐 ]

)

}

02

({

)

}

03

({

)

}

03

({

)

}

02

({

)

}

03

({

)

}

02

({

)

}

03

({

)

}

02

({

, 3 , 2 , 1 , 0 ' , 3 , 3 , 2 , 1 , 0 ' , 2 , 3 , 2 , 1 , 0 ' , 1 , 3 , 2 , 1 , ' , 0 c c c c c c c c c c c c c c c c c c c o c

s

s

s

s

s

s

s

s

s

s

s

s

s

s

s

s

s

s

s

s

Gambar 7. MixColumns()

(16)

86

d) Transformasi AddRounKey.

Pada proses AddRoundKey, sebuah round key ditambahkan pada state

dengan operasi bitwise XOR. Setiap round key terdiri dari Nbword dimana tiap word

tersebut akan dijumlahkan dengan word atau kolom yang bersesuaian dari state

sehingga :

s

0',c

,

s

1',c

,

s

2',c

,

s

3',c

s

0,c

,

s

1,c

,

s

2,c

,

s

3,c

w

round*Nbc

untuk

0

c

Nb

[wi] adalah word dari key yang bersesuaian dimana i = round*Nb+c.

Transformasi AddRoundKey diimplementasikan pertama kali pada round = 0, dimana key yang digunakan adalah initial key (key yang dimasukkan oleh kriptografer dan belum mengalami proses key expansion).

3. Analisa dan User Interface 3.1. Analisa Kebutuhan

Analisa kebutuhan merupakan tahapan penting dalam membangun suatu perangkat lunak, karena berkaitan dengan kebutuhan sistem secara keseluruhan, maka kegagalan memenuhi kebutuhan jenis ini berakibat pada sistem secara keseluruhan. Kebutuhan ini juga mengacu pada kecepatan akses, keamanan data, besarnya kapasitas penyimpanan yang diperlukan, otentikasi sampai dengan pengunaan perangkat dan aplikasiya.

Analisa kebutuhan pada proses Enkripsi maupun Dekripsi AES-Rijndael 128

bit adalah adanya keamanan data dengan cara menjadikan data tersebut tidak berguna “enkripsi” dengan memperhatikan integritas data (jaminan konsistensi data).

3.2 Perancangan Penelitian

Metode yang digunakan dalam analisis dan perancangan pada prototype adalah metode waterfall. Metode ini membagi proses pembangunan perangkat lunak kedalam fase-fase individu atau langkah-langkah. Fase atau langkah yang satu dengan yang lainnya terpisah secara kronologis dan fungsional.

Model waterfall merupakan salah satu dari model-model yang terdapat pada penerapan Daur Hidup Pengembangan Sistem. Roger.S, Pressman (2001:p57) membagi model Waterfall ke dalam beberapa tahap, yaitu: tahap rekayasa sistem,

(17)

87

analisis kebutuhan perangkat lunak, perancangan, pemrograman, pengujian, dan pemeliharaan yang dapat digambarkan pada Gambar 8.

Gambar 8. Skema model waterfall

Sedangkan tahapan-tahapan dalam model proses waterfall yang digunakan untuk menyelesaikan penelitian ini adalah sebagai berikut:

a. Tahap investigasi dilakukan untuk menentukan apakah terjadi suatu masalah atau adakah peluang suatu sistem informasi buat dan dikembangkan. Pada tahapan ini studi kelayakan perlu dilakukan untuk menentukan apakah sistem informasi yang akan dibuat dan dikembangkan merupakan solusi yang layak

b. Tahap analisis bertujuan untuk mencari kebutuhan (need) pengguna dan organisasi serta menganalisa kondisi yang ada (sebelum diterapkan sistem informasi yang baru).

c. Tahap disain bertujuan menentukan spesifikasi detil dari komponen- komponen sistem informasi (manusia, hardware, software, network dan data) dan produk-produk informasi yang sesuai dengan hasil tahap analisis. d. Tahap Implementasi merupakan tahapan untuk mendapatkan atau mengembangkan hardware dan software (pengkodean program), melakukan pengujian, pelatihan dan perpindahan ke sistem baru.

e. Tahapan perawatan (maintenance) dilakukan ketika sistem informasi sudah dioperasikan. Pada tahapan ini dilakukan monitoring proses, evaluasi dan perubahan (perbaikan) bila diperlukan.

(18)

88 3.2.1 Pembuatan Flowchart START START Menu : 1. Home 2. Enkripsi 3. Dekripsi 4. Keluar Menu : 1. Home 2. Enkripsi 3. Dekripsi 4. Keluar Menu=1?

Menu=1? false Menu=2?Menu=2? false Menu=3?Menu=3? false

ENKRIPSI 1 ENKRIPSI 1 DEKRIPSI 1DEKRIPSI 1 INFORMASI APLIKASI INFORMASI APLIKASI true true true PERINGATAN KELUAR : 1. YA 2. TIDAK PERINGATAN KELUAR : 1. YA 2. TIDAK PIL=1? PIL=1? END END true false

Gambar 9. Flowchart Menu Utama

3.2.2 Pembuatan Algoritma {Algoritma Menu Utama}

begin Byte[] pilih; If (menu==1) Informasi.show(); Else if(menu==2) Enkripsi.show(); Else if(menu==3) Dekripsi.show(); Else MessageBox.Show(); end

{Algoritma Enkripsi File}

begin

Tampilkan pesan di label info Disable semua tetboxt; If(ButtonFile.klik)

{ OFD=OpenFileDialog(); OFD.Filter=ekstensiFile; OFD.Title=”Pilih Lokasi File”; If(OFD.DialogResult.OK)

{ TextFile=OFD.FileName;

(19)

89

Aktifkan Text Kunci

Ubah BackColor text kunci menjadi LightCoral; Fokus Text Kunci;

TextSimpan=namaFile; } } Readline(TextKunci);

If(TextKunci==16) { Hitung karakter kunci

Disable text kunci ulangi

Tampilkan pesan di label info; } else

{ Tampilkan pesan di label info;

Ubah background text kunci menjadi warna PaletTurquis; Aktifkan text ulangi kunci;

Fokuskan kursor di text ulangi kunci; } Readline(TextUlangiKunci);

If (TextUlangiKunci==16)

{ If (textKunci=textUlangiKunci)

{ Ubah background ulangi kunci menjadi PaleTurqouis; Aktifkan tombol enkripsi;

Fokus tombol enkripsi; } else

{ Tampilkan pesan kesalahan; } } else

{ Disable tombol enkripsi;

Ubah background menjadi lightcoral; Tampilkan pesan di label info; Hitung perhitungan karakter kunci;} If (TombolEnkrip=klik)

{ Procedure Enkripsi; } end

{Algoritma Dekripsi File}

Tampilkan pesan di label info Disable semua tetboxt; If(ButtonFile.klik)

{ OFD=OpenFileDialog(); OFD.Filter=ekstensiFile; OFD.Title=”Pilih Lokasi File”; If(OFD.DialogResult.OK)

{ TextFile=OFD.FileName;

Ubah karakter nama file “_” Menjadi “.”; Aktifkan Text Kunci

(20)

90

Fokus Text Kunci; TextSimpan=namaFile; } }

Readline(TextKunci); If(TextKunci==16) { Hitung karakter kunci

Disable text kunci ulangi Tampilkan pesan di label info;} else

{ Tampilkan pesan di label info;

Ubah background text kunci menjadi warna PaletTurquis; Aktifkan text ulangi kunci;

Fokuskan kursor di text ulangi kunci; } Readline(TextUlangiKunci);

If (TextUlangiKunci==16)

{ If(textKunci=textUlangiKunci)

{ Ubah background ulangi kunci menjadi PaleTurqouis; Aktifkan tombol enkripsi;

Fokus tombol enkripsi;} else

{ Tampilkan pesan kesalahan; }} else

{ Disable tombol enkripsi;

Ubah background menjadi lightcoral; Tampilkan pesan di label info; Hitung perhitungan karakter kunci; } If (TombolEnkrip=klik)

{ Procedure DEKRIPSI;} End

3.2.4 Pemodelan User Interface a. Form Login

Sebelum menggunakan aplikasi ini, User harus terlebih dahulu melakukan proses login untuk dapat melanjutkan ke halaman otoritasnya masing-masing.

(21)

91

Gambar 10. Form Login

b. Form Menu Utama

Pada form menu utama terdapat beberapa menu yaitu login, Deskripsi, Enkripsi dan Keluar.

Gambar 11. Form Menu Utama

c. Form Enkripsi

Untuk melakukan enkripsi file adalah memasukkan file dengan cara mengklik

command button “Pilih File” lalu pilih file yang akan dienkripsi. Jika sudah di pilih file yang akan dienkripsi maka langkah selanjutnya adalah menginputkan kunci. Jika

(22)

92

kunci yang diinputkan benar maka tombol enkripsi akan diaktifkan. Lalu klik

command button Enkripsi.

Gambar 12. Form Enkripsi

d. Form Dekripsi

Dekripsi merupakan cara mengembalikan file yang sudah dienkripsi dengan cara menginputkan file yang sudah dienkripsi dan kunci untuk mengembalikan file tersebut pada menu DEKRIPSI. Langkah – langkah mengDekripsi file sama seperti Enkripsi file.

Gambar 13. Form Dekripsi

4. Kesimpulan

Kesimpulan yang data ditarik berdasarkan hasil peneltian yang dilakukan bahwa Pengacakan byte-byte yang rumit menggunakan fungsi Subbytes() untuk

(23)

93

subtitusi bytes ke dalam tabel S-Box,Shiftrows() untuk mengacak baris secara siklik dan MixColumn() untuk mengacak kolom dengan cara polinomial menjadikan keseimbangan antara keamanan serta fleksibel dalam berbagai flatform software dan

hardware.

5. Daftar Pustaka

Adi Kurniadi, 1999, Pemrograman Microsoft Visual Basic 6. Jakarta : Elex Media Komputindo.

Agus Haryanto, 2007, Membuat Aplikasi Sederhana Dengan Microsoft Access, Elex Media Komputindo, Jakarta.

Antony Pranata, 2002, Algoritma dan Pemrograman, J&J Learning, Yogyakarta.. Bambang Wahyudi, 2004, Pengantar Struktur data dan Algoritma, ANDI

Yogyakarta.

Booch, Grady, Rumbaugh, James, and Jacobson, Ivan, 1999, The Unified Modelling Language User Guide, Addison Wesley, Massachusetts.

Dony Ariyus, 2009, Keamanan Multimedia, Andi Offset, Yogyakarta.

Dony Ariyus, 2005, Kriptografi Keamanan Data dan Komunikasi, Graha Ilmu, Yogyakarta.

Fadlisyah, Arnawan dan Faisal, 2009, Algoritma Genetika, Andi, Yogyakarta. Fathansyah, 1999, Basis data. Bandung : Informatika.

Jogiyanto, H. M, 2005, Analisis dan Desain Sistem Informasi: Pendekatan Terstruktur . Yogyakarta : Andi.

Kadir, Abdul, 2009, Dasar perancangan dan implementasi database relasional.

Yogyakarta : Andi.

Kusrini, 2007, Strategi Perancangan dan Pengelolaan Basis Data. Yogyakarta : Andi.

Pfleeger, S,1997, Software Engineering: Theory and Practice. Prentice Hall.

Nugroho, Adi, 2005, Analisis dan Perancangan Sistem Informasi dengan Metode Berorientasi Objek. Edisi Revisi, Informatika, Bandung.

Nugroho, Adi, 2011, Perancangan dan Implementasi Sistem Basis Data. Yogyakarta : Andi.

Ramadhan, Arif, 2010, SQL Server 2000 dan Visual Basic 6. Jakarta : Elex Media Komputindo

(24)

94

Penentuan Jenis Armada Berbasis Data Mining Dengan Metode Klasifikasi pada PT. Cipaganti Citra Graha, Tbk

Rulin Swastika

Program Studi S1 Teknik Informatika Sekolah Tinggi Ilmu Komputer Al-Khairiyah Perum media Raya Blok A1 No 5 Pejaten, Serang

Email : swastikarulin@gmail.com

Abstrak

Telah tercatat lebih dari 650 unit armada yang dimiliki unit bisnis shuttle PT. Cipaganti Citra Graha, Tbk dengan berberbagai macam jenis armada mulai dari kelas menengah hingga ekslusif hal ini dimaksudkan untuk memberikan kenyamanan dan kepuasan bagi para konsumen. Berdasarkan tinjauan yang diperoleh informasi dari perusahaan dalam menentukan jenis armada yang akan diberikan pada tiap-tiap cabang sesuai dengan karakterisiktik para konsumen di wilayah cabang masing-masing masih mengalami kesulitan, dikarenakan fluktuasi dan variasi jumlah konsumen yang melakukan perjalanan. Salah satu cara terbaik untuk mengetahui kebutuhan pada masing-masing kantor cabang adalah dengan melakukan mengklasifikasi distribusi jenis armada pada tiap-tiap kantor cancang pada setiap tahunnya . Tujuan penelitian ini adalah diperolehnya suatu model yang tepat dalam distribusi jenis armada pada tiap-tiap kantor cabang perusahaan sebagai dasar pengambilan keputusan . Karakterstik pengklasifikasian data berdasarkan parameter yang sudah ditentukan, pola data untuk menentukan model dalam mempromosikan kampus sesuai dengan klasifikasinya. Penelitian tentang Penentuan Distribusi Jenis Armada berbasis data mining dengan metode klasifikasi membutuhkan sejumlah data yang dikelompokkan sebagai data training dan data testing. Masing-masing data

(25)

95

tersebut terdiri dari data masukan dan data target untuk membentuk model pohon keputusan. Selain itu juga dibutuhkan beberapa proses yang meliputi pengumpulan data, pengolahan data, komputasi dengan algoritma C45, dan validasi untuk pohon keputusan yang dihasilkan.Dari hasil pengujian Data Training dan Data Testing yang sudah dilakukan maka Pohon Keputusan tersebut layak digunakan sebagai Model dalam menentukan distribusi jenis armada. Karena dari dua jenis data yang digunakan sebagai Data Training dan Data Testing masing-masing memiliki Accuracy yang paling baik, dimana Data Training memiliki Accuracy 100% (750 / 750 *100%) dan

Data Testing memiliki Accuracy 85% (750 / 750*100%). Kata Kunci : Data Mining, Klasifikasi C45, Rapid Miner.

1. Pendahuluan

Keberadaan Cipaganti Group dimulai dengan dibukanya usaha jual beli mobil bekas dengan nama Cipaganti Motor oleh Andianto Setiabudi pada tahun 1985 di Jalan Cipaganti No. 84 Bandung. Perkembangan usaha dari tahun ke tahun mengalami peningkatan yang cukup baik sehingga dapat berkembang dengan memiliki beberapa showroom mobil bekas di Jalan Cipaganti, Cihampelas dan Jalan Abdul Muis (sekarang Jalan Pungkur) Bandung. Seiring dengan perkembangan perekonomian nasional dan banyaknya perusahaan besar yang melakukan out source untuk kebutuhan kendaraan sebagai sarana transportasi dan operasional perusahaan Cipaganti Shuttle (Point to Point) adalah sebuah layanan angkutan penumpang dari Terminal/Pool Cipaganti Kota Asal ke Terminal / Pool Cipaganti Kota Tujuan sesuai jurusan yang dilayani Cipaganti Shuttle. Tercatat lebih dari 650 unit armada yang dimiliki dengan berberbagai macam jenis armada mulai dari kelas menengah hingga ekslusif hal ini dimaksudkan untuk memberikan kenyamanan dan kepuasan bagi para konsumen. Berdasarkan tinjauan yang diperoleh informasi dari perusahaan dalam menentukan jenis armada yang akan diberikan pada tiap-tiap cabang sesuai dengan karakterisiktik para konsumen di wilayah cabang masing-masing masih mengalami

(26)

96

kesulitan, dikarenakan fluktuasi dan variasi jumlah konsumen yang melakukan perjalanan.

Untuk membantu distribusi penentuan jenis armada membutuhkan metode pengolahan data dari database konsumen, sebuah metode yang bisa digunakan untuk menggali informasi – informasi tersembunyi dari data tersebut. Metode tersebut dikenal dengan data mining. Dengan bantuan perangkat lunak, data mining akan melakukan proses analisa data untuk menemukan pola atau aturan tersembunyi dalam lingkup himpunan data konsumen tersebut. Data mining merupakan suatu metodologi untuk mendapatkan suatu pengetahuan yang tersirat didalam suatu data dengan melakuan inventarisasi data spasial, karakteristik yang terpenting dari peralatan data mining adalah fasilitas persiapan data, skalabilitas produk dan kinerja, fasilitas untuk visualisasi hasil. Selain itu terdapat enam fungsi dalam data mining yaitu deskripsi, estimasi, prediksi, klasifikasi, pengelompokan dan asosiasi.

Dalam penentuan distribusi jenis armada berbasis data mining dengan metode klasifikasi pada PT. Cipaganti Citra Graha, ini langkah awal adalah dengan membuatkan model-model data sebagai bahan pertimbangan bagi pimpinan perusahaan dalam penentuan jenis armada untuk masing-masing kantor cabang .

Diharapkan dengan dalam penentuan jenis armada berbasis data mining dengan metode klasifikasi dapat membantu pihak perusahaan dalam melakukan distribusi penentuan jenis armada yang akan diberikan pada setiap kantor cabang PT. Cipaganti Citra Graha khususnya wilayah Bandung.

2. Landasan Teori

2.1 Sistem Pendukung Keputusan (SPK)

Sistem Pendukung Keputusan atau yang biasa disebut Decision Support System (DSS) adalah sebuah sistem yang ditujukan untuk mendukung para pengambil keputusan manajerial untuk masalah semiterstruktur. Scott Morton mendefinisikan DSS sebagai “sistem berbasis computer interaktif, yang membantu para pengambil

(27)

97

keputusan untuk menggunakan data dan berbagai model untuk memecahkan masalah-masalah tidak terstruktur” (Gory dan Scott Morton, 1971).

DSS (Decision Support System) adalah suatu sistem informasi yang mengevaluasi beberapa pilihan yang berbeda guna membantu seseorang memberikan keputusan terhadap masalahnya. Berdasarkan pada definisi yang bervariasi, DSS dapat dijelaskan sebagai sistem pembuat keputusan manusia-komputer interaktif berbasiskan komputer yang dapat:

a. Mendukung dalam pembuatan keputusan daripada menggantinya dengan yang baru.

b. Memanfaatkan data dan model.

c. Memecahkan masalah dengan struktur yang derajatnya bervariasi: 1. Nonstruktur (unstruktur atau ill-struktur)

2. Semistruktur

3. Semistruktur dan unstruktur

4. Berpusat pada keefektifan daripada keefisienan dalam proses pemberian keputusan.

Kecerdasan Buatan atau Artificial Intelligence (AI) merupakan salah satu bagian ilmu komputer yang membuat mesin (komputer) dapat melakukan pekerjaan seperti dan sebaik yang dilakukan oleh manusia. Agar komputer dapat bertindak seperti dan sebaik manusia, maka komputer juga harus diberi bekal pengetahuan, dan mempunyai kemampuan untuk menalar. Untuk itu AI memberikan beberapa metoda untuk membekali komputer dengan kedua komponen tersebut agar komputer dapat menjadi mesin yang pintar.

2.2 Perencanaan

Perencanaan adalah proses untuk mengkaji apa yang hendak dikerjakan di masa yang akan datang (Sukarno, 2002:129).

(28)

98

memprioritaskan proses bisnis serta menyediakan gambaran untuk mencapai sasaran (Hollander, Denna dan Cherrington, 2000:5)

Secara umum perencanaan merupakan proses penentuan tujuan organisasi (perusahaan) dan kemudian menyajikan (mengartikulasikan) dengan jelas strategi-strategi (program), taktik-taktik (tata cara pelaksanaan program ) dan operasi (tindakan) yang diperlukan untuk mencapai tujuan perusahaan secara menyeluruh. ( Erly Suandy 2001:2)

2.3 Armada

Armada atau kendaraan atau angkutan atau wahana adalah alat transportasi, baik yang digerakkan oleh mesin maupun oleh makhluk hidup. Kendaraan ini biasanya buatan manusia (mobil, motor, kereta, perahu, pesawat), tetapi ada yang bukan buatan manusia dan masih bisa disebut kendaraan, seperti gunung es, dan batang pohon yang mengambang.

2.4 Pengertian Data Mining

Secara sederhana data mining adalah penambangan atau penemuan informasi baru dengan mencari pola atau aturan tertentu dari sejumlah data yang sangat besar (Davies, 2004). Data mining juga disebut sebagai serangkaian proses untuk menggali nilai tambah berupa pengetahuan yang selama ini tidak diketahui secara manual dari suatu kumpulan data (Pramudiono, 2007). Data mining, sering juga disebut sebagai

knowledge discovery in database (KDD). KDD adalah kegiatan yang meliputi pengumpulan, pemakaian data, historis untuk menemukan keteraturan, pola atau hubungan dalam set data berukuran besar (Santoso, 2007).

2.5 Tahap - Tahap Data Mining

Sebagai suatu rangkaian proses, data mining dapat dibagi menjadi beberapa tahap yang diilustrasikan di Gambar 2.1. Tahap-tahap tersebut bersifat interaktif, pemakai terlibat langsung atau dengan perantaraan knowledge base.

(29)

99 Gambar 2.1

Knowledge Discovery (KDD) Process

2.2.4.1 Fungsional Data Mining

Secara fungsional data mining terdiri dari beberapa bagian, yaitu :

a. Klasifikasi dengan metode yang terkenal yaitu Classification and Regression Trees (CART)

Metode ini digunakan dengan cara mengklasifikasi obyek berdasarkan atribut dari obyek tersebut. Dapat dicontohkan seperti table dibawah ini:

Table 2.1 Weather Data

Outlook Temperature Humidity Windy Play?

sunny hot high false No

sunny hot High true No

overcast hot high false Yes

rain mild high false Yes

(30)

100

rain cool normal true No

overcast cool normal true Yes

sunny mild high false No

sunny cool normal false Yes

rain mild normal false Yes

sunny mild normal true Yes

overcast mild high true Yes

overcast hot normal false Yes

rain mild high true No

Berdasarkan data pada table diatas dapat diklasifikasilan berdasarkan data cuaca, dalam kondisi cuaca yang bagaimana yang baik untuk bermain, apakah panas, hujan, normal atau dingin dan ini juga dapat digambarkan dalam diagram seperti dibawah ini:

Gambar 2.2 Diagram pohon keputusan

(31)

101

b. Asosiasi atau Association dengan metode yang cukup terkenal yang dinamakan Market Basket Analysis (MBA)

Aturan asosiasi ingin memberikan informasi tersebut dalam bentuk hubungan “if-then” atau “jika-maka”. Aturan ini dihitung dari data yang sifatnya probabilistik (Santoso, 2007).

c. Klustering atau Pengelompokan dengan metodenya K-means yang ditemukan oleh MacQuenn.

Clustering termasuk metode yang sudah cukup dikenal dan banyak dipakai dalam data mining. Sampai sekarang para ilmuwan dalam bidang data mining

masih melakukan berbagai usaha untuk melakukan perbaikan model clustering

karena metode yang dikembangkan sekarang masih bersifat heuristic. Usaha-usaha untuk menghitung jumlah cluster yang optimal dan pengklasteran yang paling baik masih terus dilakukan. Dengan demikian menggunakan metode yang sekarang, tidak bisa menjamin hasil pengklasteran sudah merupakan hasil yang optimal. Namun, hasil yang dicapai biasanya sudah cukup bagus dari segi praktis.

Gambar 2.3 Clustering

Tujuan utama dari metode clustering adalah pengelompokan sejumlah data/obyek ke dalam cluster (group) sehingga dalam setiap cluster akan berisi

(32)

102

data yang semirip mungkin seperti diilustrasikan pada gambar 2.2. Dalam

clustering. Metode ini berusaha untuk menempatkan obyek yang mirip (jaraknya dekat) dalam satu klaster dan membuat jarak antar klaster sejauh mungkin. Ini berarti obyek dalam satu cluster sangat mirip satu sama lain dan berbeda dengan obyek dalam cluster-cluster yang lain. Dalam metode ini tidak diketahui sebelumnya berapa jumlah cluster dan bagaimana pengelompokannya (Santoso, 2007).

2.2.5 Pohon Keputusan (Decision Tree)

Salah satu metode data mining yang umum digunakan adalah pohon keputusan. Metode pohon keputusan mengubah fakta yang sangat besar menjadi pohon keputusan yang merepresentasikan rule. Pohon keputusan adalah salah satu metode klasifikasi yang paling popular karena mudah untuk diinterpretasi oleh manusia. Konsep dari pohon keputusan adalah mengubah data menjadi pohon keputusan dan aturan-aturan keputusan

Data dalam pohon keputusan biasanya dinyatakan dalam bentuk tabel dengan atribut dan record. Atribut menyatakan suatu parameter yang dibuat sebagai kriteria dalam pembentukan tree. Misalkan untuk menentukan main tenis, kriteria yang diperhatikan adalah cuaca, angin dan temperatur. Salah satu atribut merupakan atribut yang menyatakan data solusi per-item data yang disebut dengan target atribut. Atribut memiliki nilai-nilai yang dinamakan dengan instance. Misalkan atribut cuaca mempunyai instance berupa cerah, berawan dan hujan

(33)

103

Konsep Data dalam Pohon Keputusan

Proses pada pohon keputusan adalah mengubah bentuk data (tabel) menjadi model pohon, mengubah model pohon menjadi rule, dan menyederhanakan rule. Manfaat utama dari penggunaan pohon keputusan adalah kemampuannya untuk membreak down proses pengambilan keputusan yang kompleks menjadi lebih simpel sehingga pengambil keputusan akan lebih menginterpretasikan solusi dari permasalahan. Pohon Keputusan juga berguna untuk mengeksplorasi data, menemukan hubungan tersembunyi antara sejumlah calon variabel input dengan sebuah variabel target.

2.2.6 Algoritma C4.5

Algoritma C.45 merupakan algoritma yang digunakan untuk membentuk pohon keputusan. Data didalam pohon keputusan biasanya dinyatakan dalam bentuk table dengan atribut dan record. atribut menyatakan suatu parameter yang dibuat sebagai criteria dalam pembentukan pohon. Misalnya untuk menentukan main tennis, criteria yang di perhatikan adalah cuaca, angin, temperature. Salah satu atribut merupakan atribut yang menyatakan data solusi per item data yang disebut target atribut. Atribut memiliki nilai-nilai yang dinamakan dengan instance. Misalkan atribut cuaca mempunyai instance berupa cerah, berawan, dan hujan [Basuki & Syarif, 2003]. Secara umum algoritma C.45 untuk membangun pohon keputusan adalah sebagai berikut :

a. Pilih atribut sebagai akar

b. Buat cabang untuk tiap-tiap nilai c. Bagi kasus dalam cabang

d. Ulangi proses untuk setiap cabang sampai semua kasus pada cabang memilki kelas yang sama Untuk memilih atribut sebagai akar, didasarkan pada nilai gain tertinggi dari atribut–atribut yang ada. Untuk menghitung gain digunakan rumus sebagai berikut :

(34)

104 𝑮𝒂𝒊𝒏 (𝑺, 𝑨) = 𝑬𝒏𝒕𝒓𝒐𝒑𝒚 (𝑺) − ∑|𝑺𝒊| |𝑺| 𝑵 𝒊=𝟏 ∗ 𝑬𝒏𝒕𝒓𝒐𝒑𝒚 (𝑺𝒊) Keterangan : S : himpunan kasus A : Atribut

N : Jumlah partisi Atribut A

|Si| : jumlah kasus pada partisi ke –i |S| : Jumlah kasus dalam S

Sementara itu perhitungan nilai entropi dapat dilihat pada persamaan berikut ini :

𝑬𝒏𝒕𝒓𝒐𝒑𝒚 (𝑺) = ∑ −𝒑𝒊 ∗ 𝐥𝐨𝐠 𝟐 𝑵 𝒊=𝟏 𝒑𝒊 Keterangan : S : Himpunan Kasus A : Fitur N : Jumlah Partisi S

Pi : Proporsi dari Si terhadap S

Dari hasil tersebut kemudian di bentuk pohon keputusan

Gambar 2.8 Contoh Pohon Keputusan

(35)

105 2.2.7 Aplikasi Rapid Miner

Rapid Miner adalah aplikasi data mining yang tidak perlu dipertanyakan lagi dan berbasis sistem open-source dunia yang terkemuka dan ternama. Tersedia sebagai aplikasi yang berdiri sendiri untuk analisis data dan sebagai mesin data mining untuk integrasi kedalam produk sendiri. Ribuan aplikasi Rapid Miner di lebih dari 40 negara memberikan pengguna mereka keunggulan yang kompetitif (Sumadi Eko Putra : 2011).

3.1 Analisa Data

a. Algoritma C4.5

Untuk membuktikan hasilnya dihitung dengan menggunakan Algoritma C45 maka diperoleh proses pengujian, adapun proses pengujian datanya sebagai berikut:

Tabel 3.3

Tabel Konsumen untuk teknik pengujian data mining

NO Alamat Cabang Hari

keberangkatan

Jam

Keberangkatan Tujuan

Jenis Armada

1 Bandung Barat BDP-1 Akhir Pekan Pagi Jaktim Low End

2 Bandung

Selatan BDP-1 Hari Kerja Pagi Jakpus High End

3 Bandung Utara BDP-3 Hari Kerja Pagi Jakut High End

4 Bandung

Selatan BDP-2 Hari Libur Pagi Jakpus Low End

5 Bandung Timur BDP-1 Akhir Pekan Siang Jakbar High End

6 Bandung Timur BDP-2 Hari Kerja Malam Jakut Low End

7 Bandung

(36)

106

8 Bandung Timur BDP-2 Akhir Pekan Siang Jaksel Low End

9 Bandung Utara BDP-3 Hari Kerja Siang Jaktim High End

10 Bandung Barat BDP-2 Hari Kerja Siang Jaksel Low End

Penerapan algoritma C4.5 pada masalah klasifikasi terhadap 10 (sepuluh) data konsumen PT. Cipaganti Citra Graha pada tabel 3.4, sebagai berikut :

a. Menghitung jumlah kasus, jumlah untuk keputusan High End, jumlah kasus untuk keputusan Low End, dan Entropy untuk semua kasus yang dibagi berdasarkan atribut alamat, cabang, hari keberangkatan, jam keberangkatan, dan tujuan. Hasil perhitungan ditujukkan oleh tabel 3.5

Tabel 3.4 Perhitungan Node 1 No de Atribut Jumlah Kasus High End (S1) Low End (S2) Entropy Gain 1 Total 10 6 4 0.970951 Alamat 0.73198 Bandung Barat 2 0 2 0 Bandung Selatan 3 3 0 0 Bandung Timur 3 1 2 0.796578 Bandung Utara 2 2 0 0 Cabang 1.16246 BDP-1 3 2 1 0.796578 BDP-2 5 1 4 0.860964 BDP-3 2 2 0 0 Hari Keberangkatan 0.13608 Hari Kerja 6 4 2 0.993157 Hari Libur 1 1 0 0 Akhir Pekan 3 1 2 0.796578 Jam 0.12525

(37)

107 Keberangkatan Pagi 4 3 1 0.853282 Siang 4 2 2 0.928771 Malam 2 1 1 0.664386 Tujuan 0.5991 Jaktim 2 1 1 0.664386 Jakpus 2 2 0 0 Jakbar 1 1 0 0 Jakut 3 2 1 0.796578 Jaksel 2 0 2 0

Dari hasil tabel 3.4 dapat diketahui bahwa atribut gain tertinggi adalah cabang yaitu sebesar 1,16246. Dengan demikian cabang dapat menjadi node akar. ada 2 nilai atribut dari cabang yaitu high end dan low end. Dari kedua nilai atribut tersebut, nilai atribut BDP-3 sudah mengklasifikasikan kasus menjadi 1 yaitu keputusannya High End, sehingga tidak perlu dilakukan perhitungan lebih lanjut, tetapi untuk nilai atribut BDP-1 dan BDP-2 masih perlu dilakukan perhitungan lagi.

Dari hasil tersebut dapat digambarkan pohon keputusan sementara ditujukkan pada gambar 3.8 berikut:

1. Kantor Cabang High End ? ? BDP-1 BD P-2 BDP-3 Gambar 3.8

Pohon Keputusan Hasil Perhitungan Node 1

b. Menghitung jumlah kasus, jumlah untuk keputusan High End, jumlah kasus untuk keputusan Low End, dan Entropy untuk semua kasus yang dibagi

(38)

108

berdasarkan atribut alamat, hari keberangkatan, jam keberangkatan, dan tujuan. yang menjadi node node akar BDP-1. Setelah itu lakukan penghitungan Gain untuk masing-masing atribut. Hasil perhitungan ditujukkan oleh tabel 3.5

Tabel 3.5 Perhitungan Node 1.1

Node Atribut Jumlah

Kasus High End (S1) Low End (S2) Entropy Gain 1.1 Cabang : BDP-1 3 2 1 0.918296 Alamat 0.9183 Bandung Barat 1 0 1 0 Bandung Selatan 1 1 0 0 Bandung Timur 1 1 0 0 Bandung Utara 0 0 0 0 Hari Keberangkatan 0.21387 Hari Kerja 1 1 0 0 Hari Libur 0 0 0 0 Akhir Pekan 2 1 1 1.056642 Jam Keberangkatan 0.21387 Pagi 2 1 1 1.056642 Siang 1 1 0 0 Malam 0 0 0 0 Tujuan 0.9183 Jaktim 1 0 1 0 Jakpus 1 1 0 0 Jakbar 1 1 0 0 Jakut 0 0 0 0 Jaksel 0 0 0 0

Dari hasil tabel 3.5 dapat diketahui bahwa atribut gain tertinggi adalah alamat yaitu sebesar 0,9183. Dengan demikian cabang dapat menjadi node akar. ada 2 nilai atribut dari alamat yaitu high end dan low end. Dari kedua nilai atribut

(39)

109

tersebut, nilai atribut Bandung Barat sudah mengklasifikasikan kasus menjadi 1 yaitu keputusannya Low End, Bandung Selatan sudah mengklasifikasikan kasus menjadi 1 yaitu keputusannya High End, dan Bandung Timur sudah mengklasifikasikan kasus menjadi 1 yaitu keputusannya High End, sehingga tidak perlu dilakukan perhitungan lebih lanjut. Dari hasil tersebut dapat digambarkan pohon keputusan sementara ditujukkan pada gambar 3.9 berikut:

1. Kantor Cabang High End ? 1.1 Alamat BDP-1 BD P-2 BDP-3 High End High End High End Low End Band ung Bara t Ban dun g Se lata n Ban dung Tim ur Gambar 3.9

Pohon Keputusan Hasil Perhitungan Node 1.1

c. Menghitung jumlah kasus, jumlah untuk keputusan High End, jumlah kasus untuk keputusan Low End, dan Entropy untuk semua kasus yang dibagi berdasarkan atribut alamat, hari keberangkatan, jam keberangkatan, dan tujuan. yang menjadi node node akar BDP-2. Setelah itu lakukan penghitungan Gain untuk masing-masing atribut. Hasil perhitungan ditujukkan oleh tabel 3.6

Tabel 3.6 Perhitungan Node 1.2

(40)

110 Node Atribut Jumlah

Kasus High End (S1) Low End (S2) Entropy Gain 1.2 Cabang : BDP-2 5 2 3 0.970951 Alamat 0.97095 Bandung Barat 1 0 1 0 Bandung Selatan 2 1 1 0 Bandung Timur 2 0 2 0 Bandung Utara 0 0 0 0 Hari Keberangkatan 0.37506 Hari Kerja 1 1 0 0 Hari Libur 3 1 2 0.993157 Akhir Pekan 1 0 1 0 Jam Keberangkatan 0.59944 Pagi 1 1 0 0 Siang 2 1 1 0.928771 Malam 2 0 2 0 Tujuan 0.59944 Jaktim 0 0 0 0 Jakpus 1 1 0 0 Jakbar 0 0 0 0 Jakut 1 1 0 0 Jaksel 2 1 1 0.928771

Dari hasil tabel 3.6 dapat diketahui bahwa atribut gain tertinggi adalah alamat yaitu sebesar 0.97095. Dengan demikian cabang dapat menjadi node akar.

(41)

111

ada 2 nilai atribut dari alamat yaitu high end dan low end. Dari kedua nilai atribut tersebut, nilai atribut Bandung Barat sudah mengklasifikasikan kasus

menjadi 1 yaitu keputusannya Low End, Bandung Timur sudah

mengklasifikasikan kasus menjadi 1 yaitu keputusannya High End, sehingga tidak perlu dilakukan perhitungan lebih lanjut, sedangkan Bandung Selatan masih perlu dilakukan perhitungan lagi.

Dari hasil tersebut dapat digambarkan pohon keputusan sementara ditujukkan pada gambar 3.10 berikut:

1. Kantor Cabang High End 1.2 Alamat 1.1 Alamat BDP-1 BD P-2 BDP-3 High End High End High End Low End Band ung S elata n Band ung T imur High End Low End Band ung B arat Bandung T imur ? Band ung S elata n Gambar 3.10

Pohon Keputusan Hasil Perhitungan Node 1.2

d. Menghitung jumlah kasus, jumlah untuk keputusan High End, jumlah kasus untuk keputusan Low End, dan Entropy untuk semua kasus yang dibagi berdasarkan atribut hari keberangkatan, jam keberangkatan, dan tujuan. yang menjadi node

(42)

112

node akar Bandung Selatan. Setelah itu lakukan penghitungan Gain untuk masing-masing atribut. Hasil perhitungan ditujukkan oleh tabel 3.7

Tabel 3.7 Perhitungan Node 1.2.1

Node Attribut Jumlah

Kasus High End (S1) Low End (S2) Entropy Gain 1.2.1 Cabang : BDP-2, Alamat : Bandung Selatan 2 1 1 1 Hari Keberangkatan 1 Hari Kerja 1 0 1 0 Hari Libur 1 1 0 0 Akhir Pekan 0 0 0 0 Jam Keberangkatan 1 Pagi 1 1 0 0 Siang 1 0 1 0 Malam 0 0 0 0 Tujuan 1 Jaktim 0 0 0 0 Jakpus 1 0 1 0 Jakbar 0 0 0 0 Jakut 1 1 0 0 Jaksel 0 0 0 0

(43)

113

Dari hasil tabel 3.7 dapat diketahui bahwa atribut gain tertinggi pada masing-masing atribut sama yaitu sebesar 1. Dengan demikian cabang dipilih salah satu yaitu hari keberangkatan dapat menjadi node akar, ada 2 nilai atribut dari alamat yaitu high end dan low end. Dari kedua nilai atribut tersebut, nilai atribut hari kerja sudah mengklasifikasikan kasus menjadi 1 yaitu keputusannya Low End, hari libur sudah mengklasifikasikan kasus menjadi 1 yaitu keputusannya High End, sehingga tidak perlu dilakukan perhitungan lebih lanjut.

Dari hasil tersebut dapat digambarkan pohon keputusan ditujukkan pada gambar 3.11 berikut: 1. Kantor Cabang High End 1.2 Alamat 1.1 Alamat BDP-1 BD P-2 BDP-3 High End High End High End Low End Band ung Sela tan Bandung T imur High End Low End Band ung B arat Bandung T imur 1.2.1 Hari Keberangkatan Band ung Sela tan

Low End High End

Hari K

erja Hari Libur

b. Validasi Pohon Keputusan

Validasi nilai akurasi pohon kepusan dapat dihitung nilai validasinya berdasarkan kesesuaian antara data konsumen pada tabel 3.4 dengan pohon keputusan yang terbentuk pada tabel 3.11, adapun penghitungan seperti yang tersaji pada tabel 3.8 berikut :

(44)

114

Perhitungan Akurasi Pohon Keputusan

Berdasarkan penghitungan akurasi data pada tabel 3.8, maka presentase data yang sesuai 100% dan nilai yang tidak sesuai 0%, dapat disimpulkan bahwa pohon keputusan yang tebentuk mempunyai nilai validasi 100% dengan klasifikasi paling baik.

5.1 Kesimpulan

Berdasarkan hasil penelitian yang telah dilakukan, maka dapat ditarik

kesimpulan bahwa penelitian yang dilakukan di PT. Cipaganti Citra Graha ini dapat

NO

Data Input Data

Target

Hasil Sesuai Tidak Sesuai Alamat Cabang Hari Jam Tujuan Jenis

Armada

1 Bandung

Barat BDP-1

Akhir

Pekan Pagi Jaktim Low End

Low

End 1 0

2 Bandung

Selatan BDP-1 Hari Kerja Pagi Jakpus High End

High

End 1 0

3 Bandung

Utara BDP-3 Hari Kerja Pagi Jakut High End

High

End 1 0

4 Bandung

Selatan BDP-2 Hari Libur Pagi Jakpus High End

High

End 1 0

5 Bandung

Timur BDP-1

Akhir

Pekan Siang Jakbar High End

High

End 1 0

6 Bandung

Timur BDP-2 Hari Kerja Malam Jakut Low End

Low

End 1 0

7 Bandung

Selatan BDP-2 Hari Kerja Malam Jakut Low End

Low

End 1 0

8 Bandung

Timur BDP-2

Akhir

Pekan Siang Jaksel Low End

Low

End 1 0

9 Bandung

Utara BDP-3 Hari Kerja Siang Jaktim High End

High

End 1 0

10 Bandung

Barat BDP-2 Hari Kerja Siang Jaksel Low End

Low

End 1 0

Jumlah 10 0

(45)

115

mengklasifikasikan distribusi jenis armada dengan penerapan algoritma C45 berbasis data mining.

Penerapan C45 dalam mengklasifikasikan distribusi jenis armada pada setiap kantor cabang menggunakan beberapa langkah penelitan, mulai dari penentuan, penentuan parameter input dan parameter target, penentuan data training, data testing, membuat pohon keputusan dengan menggunakan aplikasi rapid miner, menghitung akurasi pohon keputusan dengan pengujian pohon keputusan dengan data training, dan menentukan klasifikasi pohon keputusan berdasarkan nilai akurasi. nilai akurasi dari pohon keputusan yang terbentuk adalah 100% dengan klasifikasi paling baik.

Dengan demikian berdasarkan hasil-hasil penelitian ini menunjukan bahwa dengan penerapan algoritma C45 dapat membentuk suatu pohon keputusan yang layak digunakan untuk mengklasifikasian distribusi penentuan jenis armada pada masing-masing kantor cabang PT. Cipaganti Citra Graha.

DAFTAR PUSTAKA

[1] Analisis Komparasi Algoritma Klasifikai Data mining untuk prediksi Mahasiswa Non Aktif (Khafiizh Hastuti : 2012)

[2] Fajar Astuti Hermawati, 2013, Data Mining, Andi Offset, Yogyakarta. [3] http://id.wikipedia.org/wiki/Armada Halaman ini di akses pada 07 Mei 2013 [4] http://www.cipaganti.co.id Halaman ini di akses pada 07 Mei 2013

[5] Implementasi data mining Classification untuk mencari pola prediksi hujan dengan menggunakan Algoritma C4.5. (Angga Raditya: 2010)

[6] Klasifikasi data nasabah sebuah asuransi menggunakan Algoritma C4.5. (Sunjana : 2010)

[7] Model data mining pada sistem informasi akademik studi kasus Universitas Kuningan (Aah Sumiah : 2011).

[8] Prediksi Loyalitas Pelanggan pada Perusahaan penyedia layanan Multimedia dengan Algoritma C.45 Berbasis Particle Swarm Optimization (Dsiyanna Lasut : 2012)

[9] Sani Susanto, Ph.D, Dedi Suryadi, ST., M.S, 2010, Pengantar Data Mining menggali pengetahuan dan bongkahan data, Andi Offset, Yogyakarta

(46)

116

Analisa Perancangan Sistem Informasi Perpustakaan Berbasis SMS Gateway

Shodik Nuryadhin

Program Studi S1 Teknik Informatika Sekolah Tinggi Ilmu Komputer Al-Khairiyah

Jalan H. Engkus Arja No. 1 Lingk. Citangkil Cilegon 42443 Email : Shodiknuryadhin@Gmail.com

Abstrak

Perpustakaan merupakan sarana pendidikan, gudang buku dan tempat mencari ilmu yang memiliki peranan sangat penting. Selain di sarana–sarana pendidikan seperti sekolah, instansi pemerintah dan bimbingan belajar, perpustakaan juga didirikan dilingkungan perguruan tinggi.

Sekolah Tinggi Ilmu Komputer Al-Khairiyah mempunyai sebuah perpustakaan yang salah satunya berfungsi untuk peningkatan kompetensi wawasan mahasiswa diruang lingkup belajarnya masing-masing. Sistem yang berjalan masih memiliki kekurangan, yaitu pengelolaan data buku, data anggota, transaksi peminjaman dan transaksi pengembalian yang masih manual. Informasi data buku tidak update. Proses pengembalian buku yang lambat mengakibatkan kemungkinan buku hilang.

Dari permasalahan tersebut perlu dirancang sebuah Sistem Informasi Perpustakaan yang lebih akurat dan efisien.

Dengan adanya sistem informasi perpustakaan ini, diharapkan dapat mempermudah pengelolaan data buku, data anggota, transaksi peminjaman dan transaksi pengembalian. Dapat meminimalisasi buku yang hilang, dengan cara memberi informasi kepada peminjam sebelum habis masa peminjaman buku melalui fasilitas SMS Gateway

(47)

117 1. Pendahuluan

Perpustakaan merupakan sarana pendidikan yang memiliki peranan penting. Perpustakaan juga merupakan gudang buku dan tempat mencari ilmu. Selain di sarana–sarana pendidikan di lingkungan sekolah dan bimbingan belajar, perpustakaan juga didirikan dilingkungan perguruan tinggi. Digunakan sebagai sarana peningkatan kompetensi untuk para mahasiswa/i.

Perpustakaan yang berada di milki Sekolah Tinggi Ilmu Komputer Al-Khairiyah merupakan salah satu hal yang penting dan menjadi bagian yang di butuhkan oleh seluruh Mahasiswa/i STIKOM-AK untuk mencari informasi, menambah pengetahuan umum dan meningkatkan kompetensi.

Dengan semakin kompleks dan banyaknya data didalam sistem informasi perpustakaan, maka diperlukan suatu sistem informasi yang baik pula untuk mendukung kelancaran kegiatan operasionalnya. Untuk itu maka STIKOM-AK merasa perlu dibuatkan sistem informasi Perpustakaan agar dapat menunjang kegiatan perpustakaan menjadi lebih baik.

2. IDENTIFIKASI MASALAH

Adapun permasalahan yang ada di Perpustakaan STIKOM-AK adalah :

1. Sistem yang berjalan saat ini mulai dari input data buku, input data anggota, transaksi peminjaman dan transaksi pengembalian ditulis pada buku besar kemudian diinput ke dalam microsoft excel, sehingga kurang efektif dan efisien.

2. Informasi mengenai data buku tidak up date.

3. Tidak adanya sistem informasi pemberitahuan kepada peminjam mengenai pengembalian buku yang masa peminjamannya akan habis, sehingga menyebabkan buku hilang.

(48)

118 3. BATASAN MASALAH

Mengingat luasnya ruang lingkup STIKOM-AK maka perancangan hanya dibatasi pada sistem informasi pengelolaan Perpustakaan.

4. PERUMUSAN MASALAH

Dengan adanya implementasi program yang diharapkan dapat membantu kinerja pengurus Perpustakaan STIKOM-AK agar lebih baik, perumusan masalah pada penelitian adalah :

1. Bagaimana analisa sistem pada perpustakaan ?

2. Apakah penerapan sistem yang ada pada perpustakaan sudah berjalan dengan baik ?

3. Bagaimana hasil perancangan sistem informasi perpustakaan ?

5. TUJUAN PENELITIAN

Dengan adanya perancangan sistem perpustakaan, diharapkan mampu mengatasi masalah yang di hadapi di Pepustakaan STIKOM-AK dalam hal pengolahan data Perpustakaan yang efisien dengan pemanfaatan SMS Gateway untuk mengingatkan anggota yang batas peminjaman buku akan habis.

6. TEORI

6.1.SMS Gateway

SMS (Short Messages Services) Gateway merupakan salah satu layanan dari berbagai operator GSM. Teknologi SMS memungkinkan kita mengirim pesan alphanumeric singkat dari sebuah handphone ke

handphone yang lain. Ada sebuah ide menarik yang kemudian diadopsi oleh berbagai portal besar saat ini, yakni menyediakan layanan pengiriman SMS dari website ke sebuah nomor handphone baik gratis ataupun dipungut bayaran.

(49)

119 7. KERANGKA PENELITIAN

Kerangka dasar penelitian merupakan langkah-langkah dalam proses mengidentifikasi masalah dan proses penyelesaian dari masalah serta hasil atau solusi dari penyelesaian masalah. Adapun permasalahan yang terjadi pada Perpustakaan STIKOM-AK adalah pengolahan data masih manual belum menggunakan sistem informasi perpustakaan. Sehingga proses pengolahan data perpustakaan berjalan kurang akurat dan kurang efektif .

8. PERANCANGAN PROGRAM SISTEM INFORMASI PERPUSTAKAAN STIKOM-AK ANGGOTA KEPALA PERPUSTAAN ADMINISTRASI PERPUSTAKAAN Form_Pendaftaran Kartu_Anggota Kartu_Anggota Kartu Peminjaman Data_Anggota Data_Buku Data_Peminjaman Data_Pengembalian File_Buku File_Anggota File_Peminjaman File_Pengembalian Laporan Data_Anggota Laporan Data_Buku Laporan Data_Peminjaman Laporan Data_Pengembalian

Gambar 3.1 Diagram Kontek

(50)

120

Gambar 3.3 Diagram Rinci 1 Level 1

Gambar 3.4 Diagram Rinci 2 Level 1

(51)

121

Gambar 3.6 Diagram Rinci 4 Level 1

(52)

122 9. ERD

bar 3.8 Rancangan ERD 10.Logical Record Structure (LRS)

(53)

123 11. Struktur Rancangan Desain

1. Form login

Form login digunakan untuk menjaga keamanan sistem, sehingga tidak semua orang dapat mengakses sistem tersebut. Adapun tampilan form login sebagai berikut :

Gambar 3.10 Rancangan Form Login 2. Rancangan menu utama

Form menu utama digunakan sebagai form pusat aplikasi sistem yang dapat mengakses ke semua form. Pada tampilan form menu utama ditampilkan daftar peminjam buku yang yang batas peminjaman habis. Adapun tampilan form menu utama sebagai berikut :

(54)

124

Gambar 3.11 Rancangan Menu utama

3. Rancangan input data buku

Input data buku ini akan memiliki periode masukan data pada saat ada pendataan buku baru :

Gambar 3.12 Rancangan input data buku 4. Rancangan input data anggota

Input data anggota ini akan memiliki periode masukan data pada saat ada pendaftaran anggota baru perpustakaan.

(55)

125

5. Rancangan input data peminjaman buku

Input data peminjaman buku ini akan memiliki periode masukan data pada saat ada peminjaman buku oleh anggota perpustakaan.

Gambar 3.14 Rancangan input data peminjaman buku 6. Rancangan input data pengembalian buku

Input data pengembalian buku ini akan memiliki periode masukan data pada saat ada pengembalian buku oleh anggota perpustakaan.

Gambar

Gambar 3. state Array ekivalen pada word array  2)  Ekspansi Kunci
Gambar 4. Transformasi SubBytes dengan S-Box
Gambar 5. Matriks Affine
Gambar 6. Transformasi ShiftRows  c)  Transformasi MixColumns.
+7

Referensi

Dokumen terkait

Karena kedua tema besar tersebut sesungguhnya berbicara tentang upaya membangun kerukunan antara manusia (perempuan dan laki-laki) dengan tujuan untuk mempertahankan harmoni

Jika perawat merasa bahwa mereka memiliki peluang untuk mendapatkan pelatihan dan pengembangan, maka tidak hanya membantu memastikan bahwa perawat memiliki keterampilan

Tujuan penelitian merancang sistem pengolahan data-data yang ada di lingkungan Kementrian Perdagangan Republik Indonesia dan untuk mengetahui kendala apa yang

Penurunan kadar sulfur terbesar terjadi pada minyak dari plastik PP warna yang diadsorpsi dengan campuran 55% bentonite dan 45% karbon aktif yaitu 23,52%.

Payment gateway adalah salah satu cara untuk memproses transaksi elektronik. Payment gateway menyediakan alat – alat untuk memproses pembayaran antara

yang diperoleh serta diciptakan sepanjang kontak pasien dengan sistem pelayanan kesehatan.. Rekam medik elektronik

Kesulitan atau hambatan asas subsidiaritas pada praktik penegakan hukum pada UUPLH telah diperbaiki pada UUPPLH dengan mengubah asas subsidiaritas menjadi asas

Sementara itu sayatan otot tidak elastis dengan lapisan mudah lepas serta insang sudah pucat dengan filamen yang tidak kompak lagi' Kecenderungan perubahan nilai