(23,12) DENGAN MENGGUNAKAN VISUAL BASIC 6.0.
Diajukan untuk memenuhi salah syarat
memperoleh gelar Sarjana Teknik pada
Program Studi Teknik Elektro
Jurusan Teknik Elektro
Fakultas Sains dan Teknologi Universitas Sanata Dharma
Disusun oleh :
NEKODEMUS WINDU PRABOWO
NIM : 045114011
PROGRAM STUDI TEKNIK ELEKTRO
JURUSAN TEKNIK ELEKTRO
FAKULTAS SAINS DAN TEKNOLOGI
(23,12) WITH USING VISUAL BASIC 6.0
In partial fulfilment of the requirements
for the degree of sarjana Teknik
Electrical Engineering Departement
Science and Technology Faculty Sanata Dharma University
NEKODEMUS WINDU PRABOWO
NIM : 045114011
ELECTRICAL ENGINEERING STUDY PROGRAM
ELECTRICAL ENGINEERING DEPARTMENT
SCIENCE AND TECHNOLOGY FACULTY
SANATA DHARMA UNIVERSITY
Karya ini kupersembahkan untuk
Tuhan Yesus Kristus dan Bunda Maria
Bapak dan Ibu
Saudara dan Saudariku
mendeteksi dan mengoreksi galat dalam pengiriman data. Salah satu jenis sandi blok
linear adalah sandi Golay. Sandi Golay adalah sandi yang sempurna atau
quasi perfect
dan telah banyak dipakai dalam sistem komunikasi. Sandi Golay yang dibahas adalah
jenis biner (23,12).
Program dibuat pada 2 PC yang dihubungkan dengan serial port, masing-masing
bertindak sebagai penyandi atau pengawasandi. Pada penyandi, vektor pesan dimasukkan
ke program pembangkit paritas yang akan dikalikan dengan matriks generator menjadi
vektor sandi, yang dapat diberikan galat maksimal 23 kemudian dikirim ke PC 2. Pada
pengawasandi, basis data berisi sindrom dan pola galat. Vektor sandi yang diterima
pengawasandi dikalikan dengan matriks H transpose sehingga menghasilkan sindrom.
Sindrom akan dibandingkan dengan basis data untuk dideteksi galat dan dikoreksi bit-bit
pesan yang salah dan memperbaikinya.
Hasil perancangan dan pengamatan menunjukkan program penyandi berhasil
menyandikan data berupa bilangan integer menjadi vektor sandi dengan maksimal 23
galat dan program pengawasandi mampu menampilkan vektor pesan untuk vektor sandi
yang memiliki galat maksimal 3.
correct mistake in delivery of data. One type of linear block code is Golay code. Golay
code is perfect code or
quasi perfect
and have been used in communications system.
Golay code which research is binary type (23,12).
Program made at two computer which is linked serially port, each acting as
encoder or decoder. At encoder, message vector was inputed to program generating of
parity to be multiplied by generator matrix to become vector encode, which can given
maximal error 23, then sent to PC 2. At decoder, database contain error pattern and
syndrome, vector encode which is accepted by decoder to be multiplied with matrix of H
transpose until get result a sindrom.
Syndrome to be compared with database for detected
error and corrected a wrong message beets and repairing it.
The result of perception and observation showing that program of encoder,
success to be encoding a data consist of integer number become vector code maximally
23 error and the program of decoder which able a massage vector for vector encode that
owning maximally error 3.
Syukur dan terima kasih kepada Tuhan Yesus Kristus atas segala karuniaNya
sehingga tugas akhir ini diselesaikan dengan baik.
Penelitian yang berupa tugas akhir inimerupakan salah satu syarat bagi mahasiswa
Program Studi Teknik Elektro untuk memperoleh gelar Sarjana Teknik di Universitas
Sanata Dharma Yogyakarta. Penelitian ini dapat diselesaikan dengan baik atas bantuan,
gagasan dan dukungan dari berbagai pihak. Oleh karena itu, peneliti ingin mengucapkan
terima kasih kepada :
1.
Tuhanku Yesus Kritus dan Bunda Maria .
2.
Bapak Yosef Agung Cahyanta S.T., M.T., selaku Dekan Fakultas Sains dan
Teknologi Universitas Sanata Dharma Yogyakarta.
3.
Ibu Bernadeta Wuri Harini, S.T., M.T., selaku Ketua Program Studi Teknik
Elektro.
4.
Ibu Wiwien Widyastuti S.T., M.T., selaku Dosen Pembimbing tugas akhir yang
telah banyak meluangkan waktu untuk memberikan bimbingan.
5.
Seluruh dosen Teknik Elektro atas ilmu yang telah diberikan selama penulis
menimba ilmu di Universitas Sanata Dharma.
6.
Seluruh staf sekretariat yang telah membantu penulis dalam mengurus semua
masalah administrasi selama perkuliahan di Universitas Sanata Dharma ini.
7.
Para Laboran Teknik Elektro Universitas Sanata Dharma.
8.
Kedua Orang tua serta Saudara dan saudariku tercinta atas semangat, doa dan
dukungan.
9.
Teman-temanku Teknik Elektro 2004 dan yang lainnya yang telah banyak
Halaman Judul dalam Bahasa Indonesia………….………..i
Halaman Judul dalam Bahasa Inggris………..ii
Halaman Persetujuan Proposal Tugas Akhir ………iii
Halaman Pengesahan………...iv
Pernyataan Keaslian Karya……….………….v
Halaman Persembahan dan Motto Hidup………..…………..vi
Intisari………vii
Abstract……….…………
viii
Lembar Pernyataan Persetujuan Publikasi Karya Ilmiah...ix
Kata pengantar……….………….x
Daftar Isi ……….…...…………...xii
Daftar Gambar ……….………..……..………...…..xv
Daftar Tabel ………..…….….……..….xvii
BAB I:PENDAHULUAN
………...………1
1.1. Judul …….………..…....….1
1.2. Latar Belakang ………..…..………1
1.3. Batasan Masalah ….………2
1.4. Tujuan dan Manfaat ….………….………..3
1.5. Metodologi Penelitian ….………...……..…..3
BAB II:DASAR TEORI
…………..………..5
2.1 Sandi Blok Linear ………..…….…….5
2.1.1. Matriks Generator ………..……….7
2.1.2. Sandi Blok Linear Sistematis .………..………..10
2.1.3. Matriks Uji Paritas ..……….…..11
2.1.4. Pengujian Sindrom .……….………..….12
2.1.5. Koreksi Galat .………...…………..14
2.2. Sandi Golay ………..….18
2.2.1. Sandi Golay Biner (23,12) .……….…………...……….19
2.3. Konfigurasi Serial DB-9 .………..……….20
2.4. Visual Basic 6.0 .………22
2.4.1. Pengenalan Visual Basic 6.0 ………..…………22
2.4.2. Pengenalan IDE (Integrated Development Environment) .………..………22
2.4.2.1. Title Bar ………..………….………..24
2.4.2.2. Menu bar………....……….24
2.4.2.3. Tool bar……….…..………24
2.4.2.4. Tool box …..………..25
2.4.2.5. Project Explorer …..……….……….25
2.4.2.6. Properties window ….………...………...26
2.4.2.7. Form Layout Window ……..……….………27
2.4.2.8. Form …..……….…...………27
2.4.2.9. Form Code …..………….…………...………..…….28
2.4.2.10. MSComm ………...…..……….…………..………29
2.5 Microsoft Access 2007 ……...……….29
2.5.1 Memulai Microsoft Access 2007 ………..…...………30
2.5.2 Komponen Access 2007……….………..………32
2.5.3 Mengenal database……….……….….……….33
2.5.4 Membuat File Data Base…………..……..……….………..34
2.5.5 Membuat Tabel……….……...……… 36
2.5.6 Memasang
Primary Key………..………..……….
38
2.5.7 Menghapus
Primary Key………..…….……….………
39
BAB III:PERANCANGAN
………..………...40
3.1. Proses Penyandian ..………..……..……..44
3.1.1. Diagram Alir Program Utama pada Penyandi .……….…..………44
3.2 Proses pengawasandi ………..………46
3.3.3. Tampilan Simulasi Pengawasandi ..………..….…….51
3.4. Komunikasi Serial antar Personal Computer ………...……...……..….……...52
BAB IV: PEMBAHASAN
………54
4.1 Proses Penyandi...54
4.2 Proses Pengawasandi...58
4.3 Pengujian dan Pengambilan Data Pada Simulasi……….63
BAB V : KESIMPULAN DAN SARAN
………..………..65
5.1 Kesimpulan………...65
5.2 Saran……….65
DAFTAR PUSTAKA………66
Gambar 2.1. Sandi Blok …...………...………...4
Gambar 2.2. Konfigurasi Serial DB-9 …..……….………...16
Gambar 2.3. Diagram Pengkabelan
Null Modem
…..……….………..16
Gambar 2.4.
Dialog box
untuk pilihan tipe
new project
. …..……..……….18
Gambar 2.5. Tampilan IDE Visual Basic …...………..………...……19
Gambar 2.6. Tampilan
title bar
dan
menu bar ……
………..……...………19
Gambar 2.7. Tampilan
tool bar ……
……….……...….………...20
Gambar 2.8 Tampilan
tool box ……
………..………...…………20
Gambar 2.9. Tampilan
project explorer …...
………..………..21
Gambar 2.10. Tampilan
properties window …...
………..………21
Gambar 2.11. Tampilan
form layout window ……
……….……...22
Gambar 2.12. Tampilan
form ……
………...………..……...22
Gambar 2.13. Tampilan
form code ……
………...……..23
Gambar 2.14 jendela program Microsoft office access 2007 ………...24
Gambar 2.15 contoh tabel database………...27
Gambar 2.16 pilihan blank database ……….28
Gambar 2.17 tampilan jendela database (access 2007)……….28
Gambar 2.18 jendela design view ……….29
Gambar 2.19 tabel baru bernama tabel1 ……….………...30
Gambar 2.20 simbol primary key ……….……….31
Gambar 3.1. Garis besar perancangan ……….………….……32
Gambar 3.2. Rancangan program pada sandi Golay ………….………..…..32
Gambar 3.3. Matriks generator …….………...…………...……….…33
Gambar 3.4. Diagram blok proses penyandian ……….…..………...34
Gambar 3.5. Rancangan diagram alir pada program penyandi …...……….………36
Gambar 3.6. Proses pengawasandi ……….……..37
Gambar 3.7. matriks H
T…….……….……..38
Gambar 3.8. rancangan diagram alir pada program pengawasandi ……….……39
Gambar 3.11. Tampilan simulasi pengawasandi ……….…………...……..…42
Gambar 3.12. DB-9 tipe
female …….
………...……....42
Gambar 3.13. Konfigurasi umum komunikasi serial antar PC ……….……...…...43
Gambar 4.1 Tampilan menu utama penyandi………44
Gambar 4.2 Tampilan penyandi……….……45
Gambar 4.3 Mengubah nilai integer ke nilai biner……….………45
Gambar 4.4 Vektor pesan dikalikan matriks generator……….……….46
Gambar 4.5 Memberikan masukan galat pada vektor sandi murni………...47
Gambar 4.6 mendesimalkan vektor sandi dengan galat……….48
Gambar 4.7 Tampilan menu utama pengawasandi………48
Gambar 4.8 Tampilan pengawasandi………...49
Gambar 4.9 Mengubah data yang diterima ke biner………..49
Gambar 4.10 sindrom disesuaikan dengan database………..50
Gambar 4.11 mengoreksi data yang diterima………....51
Tabel 2.1.
Tabel Polinomial Primitif..……...………...7
Tabel 2.2. Larik Standar ...…..………...……11
Tabel 2.3. Konfigurasi Pin dan Nama Sinyal Konektor Serial DB-9…. .….……….17
PENDAHULUAN
1.1 Judul
Simulasi Penyandi dan Pengawasandi Sandi Golay (23,12) dengan Menggunakan
Visual Basic 6.0.
1.2 Latar Belakang
Penyandian isyarat digital berguna untuk meningkatkan kinerja komunikasi
dengan meningkatkan ketahanan sinyal terhadap berbagai gangguan saluran, seperti derau
(
noise
), pelemahan sinyal (
fading
), perusakan sinyal oleh sinyal lain (
jamming
).
Penyandian dikelompokkan dalam dua jenis, penyandian gelombang (
waveform coding
)
dan urutan terstruktur (
structured sequences
/
structured redudancy
).
Waveform coding
berhubungan dengan pengubahan bentuk gelombang menjadi bentuk gelombang yang
”lebih baik”, sehingga mengurangi terjadinya galat (
error
). Sedangkan
structured
sequences
berhubungan dengan pengubahan urutan data menjadi urutan yang ”lebih baik”
dan mempunyai bit berlebih (
redundant bit
) yang digunakan untuk mendeteksi dan
mengoreksi
error
[1].
Sandi blok linear adalah salah satu dari banyak sandi yang dapat digunakan untuk
mendeteksi dan mengoreksi kesalahan dalam pengiriman data. Salah satu jenis sandi blok
linear adalah sandi Golay. Sandi Golay adalah sandi yang sempurna atau
quasi perfect
dan telah banyak dipakai dalam sistem komunikasi. Sandi Golay pernah digunakan pada
dan Saturnus ke bumi pada tahun 1979 dan 1980. Sandi Golay yang dibahas adalah jenis
biner (23,12). Kode ini mampu mengoreksi sampai 3 kesalahan [2] .
Dalam penyandian data digital antar dua PC, diperlukan sebuah media transmisi
agar data dapat dikirimkan dari satu komputer ke komputer lainnya . Ada banyak media
transmisi yang sekarang ini digunakan seperti
serial port, parallel
port
, dan
wireless
(tanpa kabel).
Salah satu koneksi
non
-
wireless
saat ini adalah
serial port
.
Port
ini terdapat pada
PC dan banyak digunakan dalam antarmuka dengan berbagai macam peralatan eksternal.
Ada beberapa kelebihan
serial port
antara lain, pada komunikasi dengan kabel yang
panjang, permasalahan
cable loss
tidak akan menjadi masalah daripada kabel paralel,
dibutuhkan jumlah kabel yang lebih sedikit daripada kabel paralel, memungkinkan
digunakan infra merah dan menggunakan konektor DB-9 [3].
Dari kelebihan-kelebihan di atas, maka penulis akan membuat program simulasi
penyandi dan pengawas sandi Golay (23,12) dengan menggunakan Visual Basic 6.0.
Transmisi data menggunakan
serial port
diantara dua PC. PC pertama sebagai penyandi
dan PC kedua sebagai pengawasandi. Pada simulasi penyandi dapat diberikan simulasi
kesalahan maksimal 23, kemudian dikirim ke PC kedua yang akan mendeteksi dan
mengoreksi kesalahannya minimal 1.
1.3 Batasan Masalah
Batasan pada tugas akhir ini adalah:
1.
Simulasi yang akan dibuat adalah penyandi, simulasi kesalahan dan pengawasandi
sandi Golay biner (23,12).
3.
Program dibuat menggunakan
software
Visual Basic 6.0.
4.
Masukan pada penyandi berupa desimal.
5.
Pengawasandi dapat mengoreksi kesalahan maksimal 3 bit.
6.
Pengawasandi dilengkapi dengan database menggunakan Microsoft Access 2007.
1.4 Tujuan dan Manfaat
Tujuan dari tugas akhir ini adalah menghasilkan program simulasi yang dapat
mengubah pesan ke sandi Golay (23,12) dan sebaliknya, dengan menggunakan dua buah
PC yang masing-masing sebagai pengirim dan penerima dan dihubungkan dengan
serial
port
.
Beberapa manfaat yang diharapkan dari tugas akhir ini adalah sebagai berikut:
1. Dapat mempermudah pemahaman mahasiswa mengenai metode penyandian sandi
blok linear khususnya sandi Golay.
2. Dapat membantu dosen dalam menjelaskan penyandi dan pengawasandi sandi
Golay (23,12).
1.5 Metodologi Penelitian
Rancangan Metodologi tugas akhir yang akan dibuat adalah sebagai berikut :
1. Tahap Studi Literatur
Studi literatur yaitu mempelajari materi-materi yang akan digunakan dalam
tugas akhir ini, seperti antarmuka komunikasi serial, pemrograman Visual Basic
2. Tahap Perancangan Perangkat Lunak
Pada tahap ini yang dilakukan adalah membuat perancangan perangkat lunak
dengan membuat diagram alir program yang digunakan untuk membuat simulasi
penyandi dan pengawasandi.
3. Tahap Pembuatan Perangkat Lunak
Pada tahap ini yang akan dilakukan adalah membuat program yang mampu
ditampilkan secara grafis pada PC dengan menggunakan perangkat lunak Visual
Basic 6.0.
4. Tahap Simulasi
Pada tahap ini akan dilakukan simulasi terhadap program yang telah dibuat.
5. Tahap Analisis Data
Tahap ini akan dilakukan analisa data yang telah diambil sebagai contoh data.
6. Tahap Penulisan Laporan
Pada tahap ini akan dilakukan penulisan laporan lengkap dan detail tentang
tugas akhir.
DASAR TEORI
2.1 Sandi Blok Linear
Sandi Blok Linear adalah salah satu jenis sandi uji paritas yang mempunyai notasi
(
n,k
), dan yang akan penulis teliti adalah sandi Golay yang merupakan bagian dari Sandi
Blok Linear dengan notasi (23,12). Penyandi mengubah 12 digit pesan (vektor pesan)
menjadi blok yang lebih panjang yaitu dengan 23 digit kata sandi (vektor sandi), yang
terbangun dari elemen data yang diberikan. Jika data terdiri atas digit-digit biner (bit)
maka pembahasan akan dibatasi pada sandi biner saja (0 dan 1). Adapun definisi dari
sandi blok linear adalah sandi blok dengan panjang
n
dan 2
kkata sandi disebut sandi (
n,k
)
linear jika dan hanya jika 2
kkata sandi membentuk subruang berdimensi k dari ruang
vektor semua
n-tuples
pada medan biner. Dengan kata lain, sandi blok linear dikatakan
linear jika dan hanya jika penjumlahan modulo-2 kata sandi juga merupakan kata sandi.
Proses penyandian masing-masing sandi ke dalam suatu blok dengan
n
bit, yang terdiri
dari k bit sandi pesan dan (
n-k
) bit sandi periksa dapat dilihat pada gambar 2.1[4].
Pesan
k
-bit dari 2
kurutan pesan yang berbeda disebut sebagai
k-tuples
(urutan dari
k
digit). Blok
n
bit dapat membentuk 2
nurutan yang berbeda disebut
n-tuples
. Prosedur
penyandian mengalokasikan setiap 2
kpesan
k-tuples
secara unik
dipetakan menjadi 2
kkata sandi
n-tuples
.
Satu set
n-tuples
biner (V
n
) disebut
vektor space
dari medan biner dua elemen (0
dan 1). Medan biner ini mempunyai dua operasi yaitu penjumlahan dan perkalian,
sehingga semua hasil operasi sama dengan elemen biner. Operasi aritmatika penjumlahan
dan perkalian ditentukan dengan medan aljabar yang disepakati. Dalam medan biner,
aturan untuk penjumlahan dan perkalian adalah sebagai berikut [1]:
Penjumlahan
Perkalian
0 0 = 0
0 • 0 = 0
0 1 = 1
0 • 1 = 0
1 0 = 1
1 • 0 = 0
1 1 = 0
1 • 1 = 1
Medan pada tabel di atas biasanya disebut medan biner (
binary field
). Medan
biner sangat penting dalam teori penyandian dan digunakan secara luas dalam sistem
komputer digital dan sistem pengiriman data digital.
Operasi penjumlahan dengan lambang menunjukkan penjumlahan modulo-2.
Untuk menentukan penyandian, yang juga harus diketahui terlebih dahulu adalah vektor
1. Vektor dengan semua elemen nol berada di dalam S.
2. Penjumlahan dua vektor di dalam S juga terdapat di dalam S.
Dua hal di atas adalah syarat fundamental dari karakterisasi aljabar sandi blok
linear. Jika
V
idan
V
jadalah dua kata sandi (vektor sandi) dalam sandi blok biner (
n
,
k
),
maka sandi ini disebut linear jika, dan hanya jika, (
V
iV
j) juga merupakan vektor sandi.
Jadi sandi blok linear adalah sandi yang tidak dapat menghasilkan vektor-vektor di luar
subspace
dari penjumlahan vektor sandi yang benar (anggota
subspace
).
2.1.1 Matriks Generator
Karena satu set vektor sandi yang membentuk sandi blok mempunyai
subspace
berdimensi
k
dari
vektor space
biner berdimensi
n
(
k
<
n
), akan ada satu himpunan
n-tuples
, kurang dari 2
k, yang dapat membangkitkan semua 2
kvektor anggota dari
subspace
.
Satu set vektor pembangkit disebut sebagai perentang
subspace
. Set independen linear
terkecil yang merentangkan
subspace
disebut basis dari
subspace
, dan jumlah vektor
dalam basis sama dengan dimensi dari
subspace
. Setiap set basis dari
k n-tuples
yang
indipenden linear V
1, V
2,….V
kdapat digunakan untuk membangkitkan vektor-vektor
sandi blok yang diperlukan, karena setiap vektor sandi merupakan kombinasi linear dari
V
1, V
2,….V
k, artinya setiap set dari 2
kvektor sandi U dapat ditulis sebagai :
Secara umum matriks generator dapat ditentukan dengan larik
k × n
G=
...(2.2)
Vektor sandi biasanya ditunjukkan oleh vektor baris. Jadi pesan
u
, deretan bit
pesan
k
, dituliskan sebagai vektor baris (matriks 1 ×
k
yang mempunyai satu baris dengan
k
kolom).
u = u
1,u
2,…., u
k...(2.3)
Pembangkitan vektor sandi v, ditulis dalam notasi matriks sebagai hasil kali dari
matriks u dan G:
v = u . G...…..(2.4)
Jadi vektor sandi yang sesuai dengan vektor pesan adalah kombinasi linear dari
baris matriks G. Karena sandi ditentukan oleh G, penyandi hanya perlu menyimpan
k
baris dari matriks G (tidak total 2
kvektor sandi).
Untuk membuat matriks generator G dan matriks periksa paritas H yang
digunakan pada sandi blok linear dengan Hamming, dilakukan langkah sebagai berikut :
1. Memilih polinomial primitif sesuai dengan panjang bit periksa, seperti
ditunjukkan pada Tabel 2.1.
Tabel 2.1
Tabel Polinomial Primitif [4]
M m
3 1+X+X3 14 1+X+X6+X10+X14
4 1+X+X4 15 1+X+X15
5 1+X2+X5 16 1+X+X3+X12+X16
6 1+X+X6 17 1+X3+X17
7 1+X3+X7 18 1+X7+X18
8 1+X2+X3+X4+X8 19 1+X+X2+X5+X19
9 1+X4+X9 20 1+X3+X20
10 1+X3+X10 21 1+X2+X21
11 1+X2+X11 22 1+X+X22
12 1+X+X4+X6+X12 23 1+X5+X23
13 1+X+X3+X4+X13 24 1+X+X2+X7+X24
Dengan polinomial pembangkit, matriks generator dengan bentuk sistematis dapat
dibuat dengan mudah. Jika X
n-k+idibagi dengan polinomial pembangkit g(X), dengan i =
0, 1, 2, … , k-1, maka diperoleh :
X
n-k+i= a
i(X) g(X) + b
i(X) ...….(2.5)
dengan b
i(X) adalah sisa dalam bentuk :
b
i(X) = b
i0+ b
i1X + … + b
i,n-k-1X
n-k-1... ..(2.6)
Dari koefisien sisa b
i(X) di atas maka akan terbentuk sebuah matriks generator dalam
2.1.2 Sandi Blok Linear Sistematis
Sandi blok linear sistematis adalah pemetaan vektor pesan berdimensi
k
ke sandi
berdimensi
n
dengan urutan yang dibangkitkan serupa dengan
k
digit pesan. Digit (
n-k
)
sisanya merupakan digit paritas. Sandi blok linear sistematis mempunyai matriks
generator dalam bentuk [1]:
G = [
P
|
I
k]
G = [
P
|
I
k]=
...(2.7)
dengan
P
adalah sebagai larik paritas dari matriks generator,
p
ij= (0 atau 1), dan I
kadalah
matriks identitas (nilai semua elemen adalah nol kecuali pada diagonal utama sama
dengan satu)
k
x
k
. Dari persamaan (2.4) dan (2.7), setiap vektor sandi dapat dinyatakan
sebagai berikut :
...(2.8)
dengan v
i = u
1p
1i+ u
2p
2i+ …+ u
kp
kiuntuk
i
= 1, 2, …, (
n-k
)
= u
i– n+k
untuk
i =
(
n-k
+ 1),…p
Jika pesan
k-tuple
adalah:
u =
m
1, m
2, …,m
k...(2.9)
dan vektor sandi
n-tuple
secara umum adalah:
maka vektor sandi sistematis dapat dinyatakan sebagai:
V =
p
1, p
2, …,p
n-k, u
1,u
2,…,u
k...(2.11)
dengan
p
1, p
2,…, p
n-kadalah bit-bit paritas
u
1,u
2,…,u
kadalah bit-bit pesan
p
1= u
1p
11+ u
2p
21+ … + u
kp
k1p
2= u
1p
12+ u
2p
22+ … + u
kp
k2……….………...…(2.12)
2.1.3 Matriks Uji Paritas
Proses fungsi pengawasandi jika diartikan secara umum merupakan kebalikan dari
proses fungsi penyandi, jika proses penyandi bertugas mengembalikan pesan tersandi
kembali ke bentuk aslinya agar dapat dimengerti pesan yang disampaikan.
Matriks uji paritas H, digunakan untuk pengawasandi vektor sandi yang diterima.
Untuk setiap matriks generator (
k
x
n
), G, terdapat matriks H (
n-k
) x
n
, sedemikian
sehingga baris pada G orthogonal dengan baris H, dan GH
T= 0. H
Tadalah
transpose
dari
H, dan 0 adalah matriks nol
k
x (
n-k
). Untuk memenuhi orgonalitas, komponen matriks H
ditulis [1]:
H = I
n-k| P
T...(2.13)
dengan P
Tadalah transpose dari matriks P. Dengan adanya matriks H, maka sandi linear
(n,k) yang dibangkitkan dari G dapat diungkapkan sebagai berikut : v
n-tuple
adalah kata
sandi yang dibangkitkan dari G jika dan hanya jika v. H
T= 0.
Matriks H dapat ditulis sebagai berikut :
...(2.14)
dan matriks H
Tdapat ditulis:
H
T=
...(2.15)
Perkalian UH
Tuntuk setiap vektor sandi V yang dihasilkan G, dengan matriks H
T,
menghasilkan vektor nol:
VH
T=
p
1+ p
1, p
2+ p
2, …p
n-k+ p
n-k=
0
dengan
p
1, p
2,…, p
n-kadalah bit-bit paritas. Jadi matriks uji paritas, H, yang dibangun
untuk memenuhi ortogonalitas di atas dapat digunakan untuk menguji apakah vektor yang
diterima adalah anggota dari set kata sandi yang benar. Matriks V adalah vektor sandi
yang dibangkitkan oleh matriks G jika, dan hanya jika, VH
T= 0.
2.1.4 Pengujian Sindrom
Jika r = r
1,r
2,….,r
nadalah vektor sandi yang diterima, yang merupakan hasil dari
pengiriman v = u
1, u
2,….,u
n, maka r dapat ditulis [1]:
dengan e = vektor galat yang terjadi pada kanal yaitu e = e
1,e
2,…,e
k. Pengujian sindrom
didapat dari persamaan :
S = rH
T... (2.17)
Sindrom adalah hasil uji paritas yang dilakukan pada r untuk menentukan apakah r
merupakan anggota himpunan kata sandi yang benar. Jika r adalah anggota himpunan
kata sandi, maka S akan sama dengan 0. Jika r mengandung galat yang dapat terdeteksi,
maka S mempunyai elemen bernilai tidak nol yang dapat menandai adanya pola galat
tertentu. Substitusi persamaan (2.16) dan (2.17), menghasilkan sindrom r yang dapat
dituliskan sebagai berikut :
S = (v + e)H
T= vH
T+ eH
T... ...(2.18)
Karena vH
T= 0 untuk semua himpunan kata sandi, maka :
S = eH
T... ...(2.19)
Pengujian sindrom yang dilakukan dari persamaan (2.16) sampai (2.19) pada vektor sandi
yang terkena galat, maupun pada pola galat itu sendiri, menghasilkan sindrom yang sama.
Dalam matriks uji paritas terdapat dua hal yang penting adalah:
1. Tidak ada kolom H yang semua elemennya bernilai nol, atau galat yang terjadi
pada posisi vektor sandi yang bersesuaian tidak akan memberikan efek pada
sindrom dan tidak dapat terdeteksi.
2. Semua kolom H harus unik. Jika ada dua kolom yang sama, maka galat pada dua
2.1.5 Koreksi Galat
Galat tunggal (
single error
) dapat dideteksi dan telah ditunjukkan bahwa
pengujian sindrom yang dilakukan pada vektor sandi terkena galat, maupun pada pola
galat yang menyebabkannya, menghasilkan sindrom yang sama. Karena terdapat
korespondensi satu-satu antara pola galat dan sindrom, maka hal ini merupakan petunjuk
bahwa pola galat dapat dikoreksi.
Tabel 2.2 menunjukkan larik standar (
standard array
) yang merupakan 2
n
n-tuple
yang mewakili kemungkinan vektor yang diterima. Baris pertama larik ini, yang terdiri
dari semua vektor sandi dimulai dengan vektor nol (semua elemen adalah nol). Kolom
pertama terdiri dari semua pola galat yang dapat dikoreksi. Vektor nol pasti anggota dari
set kata sandi. Setiap baris, disebut
coset
, mengandung pola galat dari kolom pertama
(
coset leader
), diikuti dengan vektor sandi yang terkena pola galat. Format larik standar
untuk sandi (
n
,
k
) adalah [1]:
Tabel 2.2 Larik Standar [1]
jika pola galat
akibat kanal tersebut adalah
coset leader
, maka vektor yang diterima akan
diawasandikan dengan benar menjadi vektor terkirim V
i
. Jika pola galat bukan
coset
leader
, akan dapat menyebabkan pengawasandian yang salah.
Dalam aturan pembuatan larik standar, setiap
n-tuple
muncul paling tidak satu.
Jika
n-tuple
muncul pada dua baris ke-1 dan ke-
m
dengan 1<
m
, maka
n-tuple
ini pasti
sama dengan e
1+ v
i
untuk beberapa
i
dan sama dengan e
m
+ v
j
untuk beberapa
j
,
hasilnya e
1+ v
i= e
m+ v
j. Dari persamaan ini diperoleh e
m= e
i+ (v
i+ v
j). Jika v
idan v
jadalah sandi vektor dalam C, v
i+ v
jjuga sandi vektor dalam C, misalnya e
m= e
1+ v
s. Hal
ini menyebabkan
n-tuple
e
mberada pada baris ke-1 dari larik, hal ini tidak sesuai dengan
aturan pembuatan larik yaitu e
m(elemen pertama pada baris ke-
m
), tidak boleh dipakai
pada setiap baris sebelumnya. Oleh karena itu, tidak ada
n-tuple
yang dapat muncul lebih
dari satu baris pada larik.
Larik standar dari sandi linear C (
n,k
) mengandung 2
kkolom yang tidak
berhubungan. Setiap kolom mengandung 2
n-kn-tuple
dengan elemen paling atas sebagai
vektor sandi pada C. Jika D
j
menyatakan kolom ke-
j
dari larik standar, maka:
D
j= {v
j, e
2+ v
j, e
3+ v
j, …, e
2n-k+ v
j}
dengan v
j
adalah vektor sandi dari C dan e
2, e
3,…, e
2n-kadalah
coset leader
.
Kolom-kolom sebanyak 2
kyang tidak berhubungan D
1, D
2,…, D
2kdapat
digunakan untuk pengawasandian sandi C. Saat vektor sandi v
j
dikirim melintasi jalur
berderau, vektor penerima r terdapat dalam D
j
jika pola galat disebabkan oleh jalur adalah
coset leader
. Dalam hal ini, vektor penerima r akan diawasandikan secara benar sebagai
vektor sandi terkirim v
j. Tetapi jika pola galat yang disebabkan oleh jalur bukan
coset
oleh jalur harus dalam beberapa
coset
dan termasuk vektor tidak nol, misalnya
coset
ke-1
dan termasuk vektor sandi vi
≠
0. Maka x=e
1b+v
idan vektor yang diterima adalah :
r = v
j+ x = e
1+ (v
i+ v
i) = e
1+ v
sJadi vektor diterima r dalam D
sdan diawasandikan sebagai v
s, yang bukan merupakan
vektor sandi yang dikirim. Hasilnya adalah pengawasandian yang salah. Oleh karena itu
pengawasandian akan benar jika dan hanya jika pola galat yang disebabkan oleh jalur
adalah
coset leader
. Untuk alasan ini semua 2
n-kcoset
leader
(termasuk vektor nol)
disebut pola-pola galat yang dapat dikoreksi.
2.1.6 Bobot dan Jarak dari Vektor Biner
Harus dipahami bahwa tidak semua pola galat dapat diawasandikan dengan benar.
Kemampuan koreksi galat dari suatu sandi dapat diketahui dengan menentukan
strukturnya. Bobot Hammin
g
(
Hamming Weight
),
w
(U), dari vektor U didefinisikan
sebagai jumlah elemen tidak nol dalam U. Untuk vektor biner, berarti jumlah elemen satu
dalam vektor. Contoh, untuk U = 100101101,
w
(U)=5.
Jarak Hamming (
Hamming Distance
) antara dua vektor sandi U dan V, d(U, V),
adalah jumlah elemen berbeda, contoh :
U = 100101101
V = 011110100
d
(U, V) = 6
Dengan sifat penjumlahan modulo-2, penjumlahan dari dua vektor biner adalah
vektor lain dengan angka satu terletak pada posisi dimana dua vektor tersebut berbeda,
contoh:
Terlihat bahwa jarak Hamming antara dua vektor sandi merupakan bobot
Hamming dari penjumlahannya,
d
(U, V) =
w
(U + V). Terlihat pula bahwa bobot
Hamming dari vektor sandi sama dengan jarak Hamming dari vektor nol.
2.1.7 Jarak Minimum dari Sandi Blok
Jika terdapat satu set (kelompok) jarak antara semua pasangan vektor-vektor sandi
dalam
space V
n, maka anggota terkecil dari set tersebut adalah jarak minimum dari sandi.
Jarak minimum,
d
minmerupakan kemampuan minimum dari sandi yang menunjukkan
kekuatan sandi.
Sifat dari sandi linear adalah: jika U dan V adalah vektor sandi, maka W = U + V
juga merupakan vektor sandi. Sehingga jarak antara dua vektor sama dengan bobot dari
vektor sandi ketiga,
d
(U, V) =
w
(U + V) =
w
(W). Jadi jarak minimum dari sandi linear
dapat dipastikan tanpa menghitung jarak antara semua kombinasi dari pasangan vektor
sandi, tetapi hanya perlu mengetahui bobot setiap vektor sandi (tidak termasuk vektor
nol) dalam
subspace
.
Bobot minimum sesuai dengan jarak minimum,
d
min. Dengan kata lain,
d
minsesuai
dengan set terkecil dari jarak antara vektor sandi nol dan vektor sandi yang
lain.
2.1.8 Kemampuan Deteksi dan Koreksi Galat dari Sandi Blok Linear
Kemampuan koreksi galat acak pada sandi blok linear ditentukan oleh jarak
minimum dari sandi. Sandi blok linear dengan jarak minimum
d
mindapat mengoreksi
galat sampai
– 1 / 2
dan dapat mendeteksi galat sampai maksimal dengan
persamaan :
persamaan 2.20 berlaku untuk pada setiap kata sandi, dengan
– 1 /
2
menyatakan bilangan bulat terbesar yang tidak lebih besar dari (
d
min– 1) / 2.
Jika r adalah kata sandi yang diterima, v adalah kata sandi yang dikirim, dan v’
adalah kata sandi yang lain, maka jarak Hamming antara kata sandi v dan v’,
d
(v, v’), dan
jarak
d
(v, r) dan
d
(v’, r) memenuhi persamaan [1]:
d
(v, r) +
d
(v’, r)
≥
d
(v,v’)... ...(2.21)
Jika pola galat
t
terjadi, maka jarak Hamming antara vektor terkirim v dan vektor
yang diterima r adalah
d
(v, r) =
t
. Jika sandi dianggap mempunyai jarak
d
mind
(v, v’)
maka:
d
(v, v’)
≥
d
mind
(v, r) =
t
atau
d
(v’,r)
≥
d
minSehingga pengawasandi akan mengidentifikasi v sebagai vektor yang dikirim jika
d
(v, r)
lebih kecil dari
d
(v’, r). Untuk
d
(v, r) <
d
(v’, r), banyaknya galat memenuhi pernyataan :
t
<
d
minJadi sandi blok linear dengan jarak minimum
d
mindapat mengoreksi galat sampai
t,
dengan :
– 1 / 2
...(2.22)
2.2 Sandi Golay
Sandi Golay adalah bagian dari sandi blok linear, ada tiga versi sandi Golay :
•
versi ternary
•
versi
Extended Golay code
.
Versi biner adalah suatu sandi linear biner yang terdiri dari 12 kata sandi dengan
panjang vektor pesan 23 dan jarak minimum 7. Versi ternary adalah suatu sandi linear
ternary yang terdiri 6 kata sandi dengan panjang vektor pesan 11 dan jarak minimum 5
dan versi
Extended Golay code
suatu sandi yang terdiri dari 12 kata sandi dengan
panjang vector pesan 24 dan jarak minimum 8 [5].
2.2.1 Sandi Golay Biner (23,12)
Bentuk sandi Golay biner adalah salah satu dari banyak jenis sandi blok linear
biner. Suatu sandi pengoreksi t-galat dapat mengoreksi maksimal t galat. Kedua versi
sandi Golay yaitu sandi biner (23,12) dengan
d
min=7 dan sandi ternary (11,6) dengan
d
min=5, membuat sandi Golay menjadi sempurna. Kedua sandi ini mempunyai jarak
minimum yang paling besar dibanding sandi manapun [5].
Dengan adanya sandi Golay biner (23,12), telah menyempurnakan kelompok
sandi biner, karena mampu mengoreksi sampai 3 galat. Pada tahun 1949, Golay
menemukan sebuah kode sempurna,
penemuan ini adalah satu-satunya yang diketahui
mampu untuk mengoreksi galat dari beberapa kombinasi, dengan maksimal 3 galat atau
kurang pada vektor 23 bit.
Ada 2 buah polinomial generator yang dapat menghasilkan
matriks generator untuk Sandi Golay (23,12), yaitu :
g
1(X)=1+X
2+X
4+X
5+X
6+X
10+X
11………..(2.23)
Atau,
Kedua polinomial g
1(X) dan g
2(X) adalah faktor dari X
23+ 1 pada GF(2)[X], dengan
rumus:
X
23+1=(1+X)g
1(X)g
2(X)………..(2.25)
Ada beberapa cara untuk mengawasandi dari sandi Golay biner (23,12) yaitu
dengan memaksimalkan kemampuan untuk mengoreksi galat pada t=3. Dua buah metode
terbaik untuk pengawasandi yaitu:
•
Decoder
Kasami
•
Decoder
Pencarian Sistematis
Ada juga sistem lain untuk mengawasandikan sandi, namun bukanlah yang terbaik karena
sebagian dari kemampuannya untuk mengoreksi galat hilang pada saat proses
decoding
.
2.3 Konfigurasi Serial DB-9
Komunikasi serial membutuhkan
port
sebagai saluran data. Berikut tampilan
port
serial DB-9 yang umum digunakan sebagai
port
serial.
Gambar 2.2
Konfigurasi Serial DB-9 [3]
dihubungkan dengan SG di pasangan, dan masing-masing pin DTR, DSR dan CD
dihubung singkat, dan pin RTS dan CTS dihubung singkat di setiap devais [6].
Gambar 2.3 Diagram Pengkabelan
Null Modem
[6]
Berikut ini adalah konfigurasi pin dan nama sinyal konektor serial DB-9 :
Tabel 2.3 Konfigurasi Pin dan Nama Sinyal Konektor Serial DB-9 [3]
Nomor Pin
Nama Sinyal
keterangan Direction Keterangan
1 DCD Data Carrier Detect / Received
Line Signal Detect
In Berfungsi untuk mendeteksi apakah DTE menerima data atau tidak.
2 RxD Received Data In Digunakan DTE untuk menerima data dari DCE.
3 TxD Transmit Data Out Digunakan DTE untuk mengirimkan data ke DCE.
4 DTR Data Terminal Ready Out Digunakan pada saat DTE
memberitahukan kesiapan terminalnya. 5 GND Ground - Merupakan saluran ground.
siap untuk menerima data.
7 RST Request to Send Out Digunakan pada saat DCE diminta mengirimkan data oleh DTE 8 CTS Clear to Send In Digunakan pada saat DCE
memberitahukan bahwa DTE boleh mulai mengirimkan data.
9 RI Ring Indicator In Digunakan pada saat DCE
memberitahukan ke DTE bahwa sebuah stasiun menghendaki hubungan
dengannya.
2.4 Visual Basic 6.0
2.4.1 Pengenalan Visual Basic 6.0
Visual Basic 6.0 merupakan salah satu bahasa pemrograman BASIC (
Beginner’s
All purpose Symbolic Instruction Code
) yang dikembangkan oleh Microsoft sejak tahun
1991. Bahasa pemrograman pada Visual Basic mendukung pemrograman yang
berorientasi obyek atau disebut juga OOP (
Object Oriented Programming
). Maksud dari
object oriented
atau OO adalah melihat masalah dari obyek-obyek yang terdapat dalam
masalah tersebut [7].
2.4.2 Pengenalan IDE (Integrated Development Environment)
Gambar 2.4.
Dialog box
untuk pilihan tipe
new project
. [7]
Setelah jenis proyek dipilih, tampilan Visual Basic akan terlihat seperti gambar
2.5. Pada tampilan ini, terlihat bagian-bagian penting seperti
menu bar
,
tool bar
,
project,
form
, dan fasilitas lain.
2.4.2.1 Title Bar
Title bar
terletak pada bagian paling atas dan menyatakan nama atau judul proyek
yang sedang aktif.
Title Bar
ditunjukkan pada gambar 2.6.
2.4.2.2 Menu bar
Menu bar
terletak di bawah
title
bar
dan berisi kumpulan perintah-perintah yang
memiliki fungsi berbeda. Visual Basic 6.0 menyediakan tiga belas menu yaitu
File, Edit,
View, Project, Format, Debug, Run, Query, Diagram, Tools, Add-ins, Window,
dan
Help
.
Menu-menu ini dapat dilihat pada gambar 2.6.
Gambar 2.6. Tampilan
title bar
dan
menu bar
. [7]
2.4.2.3 Tool bar
Tool bar
sebenarnya memiliki fungsi yang sama seperti
menu bar
, hanya saja
berbeda cara penggunaannya. Pada
menu bar
, perintah dijalankan dengan mengakses
menu terlebih dulu lalu sub menu dan selanjutnya baru perintah yang akan digunakan.
Pada
tool bar
, perintah langsung ditampilkan dalam bentuk
icon
dan akan langsung
dilaksanakan ketika
icon
tersebut dipilih. Dengan kata lain,
icon
-
icon
pada
tool bar
Gambar 2.7. Tampilan
tool bar
. [7]
2.4.2.4 Tool box
Tool box
adalah tempat kontrol-kontrol yang akan digunakan untuk membantu
pembuatan program aplikasi. Beberapa kontrol yang digunakan yaitu
textbox, label,
command button, option button,
dan
combo box
. Tidak semua kontrol ditampilkan pada
tool box
. Namun kontrol-kontrol yang tidak ditampilkan dapat ditambah ke dalam
tool
box
sesuai dengan kebutuhan penggunaannya. Tampilan
tool box
ditunjukkan pada
gambar 2.8.
Gambar 2.8 Tampilan
tool box
. [7]
2.4.2.5 Project Explorer
Project explorer
digunakan untuk mengakses bagian-bagian pembentuk project.
Pada project explorer dapat dilihat daftar
form
,
module
, dan
class module
yang disusun
secara bertingkat. Pengguna juga dapat dengan mudah menambah
form
atau
module
Gambar 2.9. Tampilan
project explorer.
[7]
2.4.2.6 Properties window
Properties window
merupakan tempat yang digunakan untuk mengatur properti
dari setiap obyek kontrol yang akan digunakan pada program aplikasi. Terdapat dua cara
untuk menampilkan
properties window
yaitu sesuai abjad (
alphabetic
) atau sesuai
kategori (
categorized
). Tampilan
properties window
ditunjukkan pada gambar 2.10.
2.4.2.7 Form Layout Window
Form layout
digunakan untuk melihat atau mengetahui posisi tampilan
form
saat
program dijalankan. Hasil pengaturan ukuran
form
yang dilakukan pada
properties
window
akan terlihat pada
form layout window
ini. Pengguna dapat mengubah letak
tampilan
form
dengan mengatur posisi
form
pada
form layout window
. Tampilan
form
layout window
ditunjukkan pada gambar 2.11.
Gambar 2.11 Tampilan
form layout window
. [7]
2.4.2.8 Form
Gambar 2.12 Tampilan
form
. [7]
2.4.2.9 Form Code
Form code
digunakan sebagai tempat untuk menulis kode-kode program aplikasi.
Untuk menampilkan
form code
, pada
window properties
dipilih perintah
view code
.
Tampilan
form code
ditunjukkan pada gambar 2.13.
2.4.2.10 MSComm
Kontrol MSComm menyediakan fasilitas komunikasi antara program aplikasi
yang dibuat dengan
port
serial untuk mengirim atau menerima data. Setiap MSComm
hanya menangani satu
port
serial sehingga jika ingin menggunakan lebih dari satu port
serial, maka harus digunakan juga MSComm sebanyak
port
serial yang dipakai [3].
Properti–properti MSComm yang sering digunakan adalah sebagai berikut :
•
CommPort
: Digunakan untuk menentukan nomor port serial yang akan dipakai.
•
Setting
: Digunakan untuk mengkonfigurasi nilai
baud rate
, pariti, jumlah bit
x
data, dan jumlah bit stop.
•
PortOpen
: Digunakan untuk membuka ataupun menutup
port
serial yang
sdfdfdffdf
d
dihubungkan dengan MSComm ini.
•
Input
: Digunakan untuk mengambil data string yang ada pada
buffer
penerima.
•
Output
: Digunakan untuk menulis data string pada
buffer
kirim.
2.5 Microsoft Access 2007
Microsoft access merupakan program database yang sudah populer dan banyak
digunakan saat ini. Ini dikarenakan oleh kemudahannya dalam pengolahan berbagai jenis
database serta hasil akhir berupa laporan dengan tampilan dengan desain yang lebih
menarik. Dalam Microsoft access 2007, anda akan menemukan tampilan yang lebih
mudah, tetapi tidak mengubah fungsi dari versi sebaliknya. Microsoft access 2007
menyediakan sekumpulan tombol yang dapat digunakan untuk menyelesaikan pekerjaan
2.5.1 Memulai Microsoft Access 2007
Untuk menjalankan Microsoft access 2007 dapat dilakukan dengan memilih
tombol start pada
taskbar
, pilih all programs, kemudian pilih Microsoft office dan klik
kanan pilihan Microsoft office access 2007.
Setelah menjalankan microsft access 2007, access akan menampilkan
getting
started with Microsoft office access page
seperti Gambar 2.14. Tampilan jendela access
2007 memang berbeda dengan access versi sebelumnya, dimana
getting started
tampil
penuh dalam jendela program.
Gambar 2.14 jendela program Microsoft office access 2007 [8]
Berikut ini tampilan utama dari Microsoft access 2007:
•
The ribbon
, merupakan area diatas jendela program dimana anda dapat memilih
tombol perintah.
•
Command tab
, merupakan tombol-tombol perintah yang ditampilkan dan
dikombinasikan sehingga anda menemukan tombol perintah yang dibutuhkan.
•
Contextual command tab
, merupakan
command tab
yang tampil tergantung pada
objek yang sedang dikerjakan. Tab ini berisi beberapa tombol perintah yang
serupa yang dapat diterapkan pada apa yang sedang dikerjakan.
•
Gallery
, merupakan control baru yang menampilkan sebuah pilihan secara visual
sehingga dapat dilihat hasil yang akan diperoleh. Galeri diterapkan pada semua
Microsoft office 2007.
•
Quick acess toolbar
, merupakan
toolbar
standar yang muncul pada bagian ribbon,
dengan klik satu kali untuk menjalankannya. Hampir semua tombol dibutuhkan,
seperti tombol
save
dan
undo
.
•
Navigation pane
, merupakan bagian pada sisi sebelah kiri jendela yang
menampilkan objek-objek database. Navigation pane menggantikan jendela
database pada program access versi sebelumnya.
•
Tabbed documents
, objek-objek tabel,
query, form report
, dan lainya ditampilkan
dalam bentuk kartu.
•
Status bar
, merupakan batang di bagian bawah jendela program yang
menampilkan informasi status termasuk tombol-tombol untuk mengubah
2.5.2 Komponen Access 2007
•
Title bar
berfungsi untuk menampilkan nama dari jendela program tersebut.
Selain itu, berfungsi juga untuk:
o
Memindah posisi jendela, yaitu dengan cara mengeser
title bar
ke posisi
lain.
o
Mengatur ukuran jendela dari ukuran
maximaze
ke ukuran
restore
ataupun
sebaliknya, yaitu dengan cara mengklik dua kali title bar.
•
Office button
merupakan tombol yang menampung menu yang sering dalam
access, antara lain perintah
new, open, save, save as, close
database, dan perintah
lainya.
•
Quick access toolbar
merupakan sebuah batang yang berisi kumpulan tombol
untuk melaksanakan suatu perintah tertentu dalam mengoperasikan access 2007.
•
Minimize tool
berfungsi untuk meminimalkan ukuran jendela program access
2007 sehingga tampilannya berubah menjadi sebuah ikon yang diletakan pada
bagian taskbar windows XP.
•
Maximaze tool
berfungsi untuk memaksimalkan ukuran jendela program access
2007 sehingga tampilanya memenuhi layar monitor.
•
Close tool
berfungsi untuk menutup jendela atau keluar dari program access 2007.
•
Status bar
digunakan untuk menampilkan status aktif dari lembar kerja program
2.5.3 Mengenal Database
Database merupakan sekumpulan data atau informasi yang terdiri atas satu atau lebih
tabel yang saling berhubungan antara satu dengan yang lain, dimana anda mempunyai
wewenang untuk mengakses data tersebut, baik menambah, mengganti, menghapus, dan
mengedit data dalam tabel-tabel tersebut. Data-data yang diolah tersebut disimpan dalam
sebuah file dengan ekstensi .accdb (access database).
Tabel merupakan tempat untuk menyimpan data yang telah diolah dan mempunyai
suatu tema tertentu, misalnya data siswa, data pegawai, dan sebagainya. Tabel terdiri dari
beberapa bagian sebagai berikut:
•
Field merupakan tempat data atau informasi dalam kelompok sejenis yang
dimasukan atau diinputkan pada bagian kolom tabel.
•
Record merupakan kumpulan dari beberapa field yang saling berhubungan
tersimpan dalam bentuk baris pada tabel. Satu tabel biasa terdiri dari beberapa
record
sekaligus.
Dalam pengoperasian data pada tabel dalam database didukung oleh lima objek database
lainnya, yaitu:
•
Query adalah objek database yang berfungsi untuk menampilkan, menyunting dan
menganalisis suatu data dengan cara lain.
•
Form adalah objek database yang digunakan untuk membuat control-kontrol
untuk proses memasukan, memeriksa dan memperbaarui data.
•
Report adalah objek yang digunakan untuk menampilkan data yang telah diformat
sesuai dengan ketentuan yang pernah anda berikan.
•
Macro adalah rangkaian perintah yang dapat disimpan dan dijalankan otomatis,
misalnya membuka form, mencetak report, dan lain-lain.
•
Module adalah program-program yang ditulis dengan access basic.
2.5.4 Membuat File Database
Untuk membuat file database baru dapat dilkukan dengan cara berikut:
1.
Pilih
blank
database pada
task pane
atau pilih tombol office dan pilih perintah
new sehingga akan ditampilkan pilihan
blank
database.
2.
Pada bagian file name, ketik nama file database yang akan dibuat, secara
default
access akan memberi nama file database dengan database1. Selanjutnya, tentukan
lokasi penyimpanan file dengan menekan tombol browse yang ada di kanan file
file name, sehingga akan ditampilkan kotak dialog file name database.
3.
Tentukan lokasi drive dan folder tempat penyimpanan file pada bagian
save in
,
dan klik tombol ok.
4.
Selanjutnya, tekan tombol create sehingga akan ditampilkan jendela database
(access 2007).
Gambar 2.17 tampilan jendela database (access 2007) [8]
2.5.5 Membuat Tabel
Langkah untuk membuat tabel melalui jendela design view adalah:
1.
Dari tampilan
datasheet view
, anda dapat pindah ke tampilan
design view
dengan
salah satu perintah berikut:
•
Klik tombol
design view
pada
status bar
.
•
Klik kanan nama tabel, kemudian pilih
design view
.
•
Klik kanan judul jendela tabel, pilih
design view
.
2.
Sehingga akan ditampilkan kotak dialog
save as
, dimana anda harus memberi
nama dan menyimpan tabel terlebih dahulu.
3.
Setelah itu, susun atau bentuklah struktur tabel.
Bagian yang diisi adalah:
•
Field name
untuk memasukan nama field yang akan dibuat.
•
Data type
untuk menentukan tipe data. Anda dapat memilih salah satu tipe
data yang diinginkan.
•
Description
untuk memasukan keterangan dari nama field yang dibuat. Kolom
description bersifat opsional, maksudnya anda dapat mengisi ataupun
mengosongkan kolom tersebut.
Gambar 2.18 jendela design view [8]
4.
Setelah mengisi semua ketentuan yang ada pada jendela
design view
, anda dapat
menyimpan kembali desain tabel dengan menggunakan salah satu perintah
penyimpanan tabel.
5.
Tutup jendela desain tabel untuk mengakhiri proses pembuatan desain tabel
dengan salah satu perintah berikut:
•
Klik tombol
close
.
•
Tekan tombol ctrl+F4.
6.
Setelah semua prosedur diatas anda kerjakan, pada jendela database akan
terbentuk sebuah tabel yang telah anda buat.
2.5.6 Memasang
Primary Key
Primary key
adalah
field
yang digunakan sebagai
field
index utama atau
field
kunci
pengurutan data dari sebuah tabel.
Pada saat anda membuat tabel melalui jendela design view, secara default
primary key
terpasang pada field ID. Tetapi anda dapat menentukan
primary key
pada salah satu
field
dari tabel anda. Langkah untuk menentukan
field primary key
adalah:
1.
Aktif pada jendela design view sebuah tabel, pilih field yang akan digunakan
sebagai field
primary key
.
2.
Klik tombol
primary key
pada group tools.
3.
Pada bagian selector baris dari field yang digunakan sebagai
primary key
akan
tampil ikon
primary key
berbentuk kunci.
Gambar 2.20 simbol primary key [8]
Catatan : jika ingin memasang lebih dari satu field
primary key
, klik tombol indexes
pada grup tools, sehingga akan tampil jendela indexes, dan pasang beberapa nama
2.5.7 Menghapus
Primary Key
Langkah untuk menghapus
field primary ke
y adalah:
1.
Pada jendela design view, klik tombol indexes pada grup tools, sehingga access
akan menampilkan jendela indexes.
2.
Pilih baris yang berisi
primary key
dan tekan tombol delete.
Atau anda juga dapat menghilangkan
primary key
dengan cara memilih field di mana
terpasang
primary key
, kemudian klik kembali tombol
primary key
pada toolbar.
PERANCANGAN
Proses komunikasi penyandi-pengawasandi sandi Golay ini menggunakan
komunikasi searah antar dua buah PC, masing-masing PC dirancang untuk dapat
bertindak sebagai penyandi atau pengawasandi
saja. Saluran transmisi pada komunikasi
ini menggunakan
serial port.
Garis besar perancangan dapat digambarkan menjadi dua
bagian seperti pada gambar 3.1.
Gambar 3.1 Garis besar perancangan.
Sandi Golay merupakan salah satu jenis sandi blok linear, sehingga proses
penyandi-pengawasandi sandi golay sama dengan blok linear. Diagram blok rancangan
Gambar 3.2 rancangan program pada sandi Golay.
Berdasarkan gambar 3.2, dapat dijelaskan bahwa 12 bit pesan dimasukkan ke
penyandi yaitu ke program pembangkit paritas yang akan dikalikan matriks generator
menjadi 23 bit pesan, setelah itu bit pesan akan dimasukkan ke program pembuat galat
yang dapat memberikan galat maksimal 23 bit, kemudian dikirim ke pengawasandi yaitu
program pendeteksi galat dan koreksi yang akan mencari bit-bit pesan yang salah dan
memperbaikinya maksimal 3 bit.
Pada penyandi membutuhkan matriks generator untuk mendapatkan vektor pesan
sedangkan pada pengawasandi akan membutuhkan matriks H
Tuntuk mendapatkan
sindrom. Selanjutnya akan dijelaskan proses mencari matriks generatornya.
Pada perancangan ini, notasi yang digunakan adalah (23,12), sehingga
terdapat 2
12atau 4096 kemungkinan kombinasi vektor sandi. Banyaknya nilai kombinasi
vektor sandi yang diperoleh membutuhkan memori komputer yang sangat besar. Oleh
karena itu kombinasi-kombinasi vektor sandi tersebut tidak ditampilkan pada
perancangan. Untuk mengatasi permasalahan tersebut maka dirancang sebuah matriks
Pembuatan matriks generator memerlukan polinomial generator untuk
mendapatkan sandi blok dengan format sistematis. Polinomial yang dipilih adalah
polinomial yang mempunyai pangkat tertinggi sama dengan panjang bit periksa, ada dua
polinomial generator untuk sandi blok linear (23,12) dan yang dipilih yaitu g1(X) = 1+ X
2+X
4+ X
5+ X
6+ X
10+ X
11, sehingga :
Panjang sandi
:
n
= 23
Panjang pesan
:
k
= 12
Panjang paritas
:
m
= 23-12 = 11
Setelah didapat nilai n, k dan m, maka dapat diketahui nilai X
n-k+idengan i = 0, 1, 2, … ,
k-1, yaitu X
11, X
12, X
13, X
14, X
15, X
16, X
17, X
18, X
19, X
20, X
21, X
22,kemudian dibagi
dengan polinomial generator yaitu g1(X) = 1+ X
2+X
4+ X
5+ X
6+ X
10+ X
11, sesuai
dengan persamaan 2.5,
X
n-k+i= a
i(X) g(X) + b
i(X)
Menghasilkan :
X
11= g(X)+( X
10+X
6+X
5+X
4+X
2+1)
X
12= (X+1)g(X)+( X
10+X
7+X
4+X
3+X
2+X+1)
X
13= ( X
2+X+1)g(X)+( X
10+X
8+X
6+X
3+X+1)
X
14= ( X
3+X
2+X+1)g(X)+( X
10+X
9+X
7+X
6+X
5+X+1)
X
15= ( X
4+X
3+X
2+X+1)g(X) +( X
8+X
7+X
5+X
4+X+1)
X
18= ( X
7+X
6+X
5+X
4+X
3+1)g(X)+( X
8+X
7+X
6+X
5+X
3+X
2+1)
X
19= ( X
8+X
7+X
6+X
5+X
4+X)g(X)+(X
9+X
8+X
7+X
6+X
4+X
3+X)
X
20= ( X
9+X
8+X
7+X
6+X
5+X
2)g(X)+(X
10+X
9+X
8+X
7+X
5+X
4+X
2)
X
21= ( X
10+X
9+X
8+X
7+X
6+X
3+1)g(X)+( X
9+X
8+X
4+X
3+X
2+1)
X
22= ( X
11+X
10+X
9+X
8+X
7+X
4+X)g(X)+(X
10+X
9+X
5+X
4+X
3+X)
Dari hasil perhitungan di atas, maka diperoleh matriks generator, seperti pada
gambar 3.3.
Gambar 3.3 matriks generator.
3.1 Proses Penyandian
Proses penyandian secara umum pada fungsi penyandi dapat ditunjukan pada
gambar 3.4.
Gambar 3.4 Diagram blok proses penyandian
Berdasarkan gambar 3.4 langkah-langkah proses penyandian dilakukan secara
bertahap, mulai dari mencari kombinasi yang dihasilkan oleh 2
kpesan hingga proses
pembuatan matriks generator, kemudian proses penyandian hingga didapatkan vektor
sandi.
Jika ada 2
12kombinasi berarti ada 4096 kemungkinan vektor pesan. Vektor pesan
dikalikan dengan matriks generator, yang merupakan hasil pengolahan dari polinomial
generator. Hasil perkalian ini akan menghasilkan vektor sandi.
3.1.1 Diagram Alir Program Utama pada Penyandi
Gambar 3.5 adalah diagram alir untuk simulasi penyandi. Data berupa desimal
dimasukkan ke dalam simulasi penyandi, data tersebut diubah ke bentuk biner sebagai
vektor pesan sebanyak 12 bit yang akan dikalikan dengan matriks generator. Hasil
perkalian matriks generator dengan vektor pesan akan berjumlah 23 bit sebagai vektor
3.2 Proses Pengawasandi
Proses pengawasandi secara umum ditunjukan pada gambar 3.6, vektor sandi yang
telah diterima pada setiap blok sandi dikalikan dengan matriks H
Takan
menghasilkan nilai sindrom (11 Bit). Untuk memperoleh nilai atau posisi bit yang
terkena galat, nilai sindrom yang telah diperoleh dibandingkan dengan
look-up table
(pada lampiran). Setelah posisi bit yang terkena galat telah diketahui, proses
selanjutnya mengembalikan bit data galat menjadi data yang benar yaitu data kebalikan
dari biner yang ditunjuk oleh posisi galat yang ditunjukkan oleh nilai sindrom.
Gambar 3.6 proses pengawasandi
Hal ini merupakan kebalikan dari proses penyandian pada fungsi penyandi. Bila
bit galat telah dikoreksi, maka akan diperoleh vektor sandi yang terdiri dari blok-blok 23
bit biner yang nantinya akan diubah menjadi vektor pesan yang terdiri dari 12 bit biner
sesuai dengan pesan asli.
Pada pengawasandi diperlukan sebuah matriks H
T, adapun bentuk dari matriks H
TH
T=
---Gambar 3.7 matriks H
T3.2.1 Diagram Alir Program Utama pada Pengawasandi
Gambar 3.8 adalah rancangan diagram alir pada program pengawasandi. Pada
pengawasandi sudah disimpan bentuk matriks H
T, data yang diambil yaitu vektor pesan
akan diubah dari desimal ke bentuk biner, kemudian akan dikalikan dengan matriks H
T.
Hasil perkalian tersebut akan menghasilkan sindrom. Sindrom tersebut akan
dibandingkan dengan
look-up table
yang terdapat pada Microsoft Access
.
Pada
look-up
table,
terdapat pasangan sindrom dan pola galatnya, sehingga sindrom yang didapat dari
perkalian vektor pesan dengan matriks H
Tdapat dilihat pola galat yang menunjukan
Bila pada sindrom terdapat bit “1” maka vektor pesan yang diterima terdapat
galat, dan akan diubah menjadi “0” sehingga akan diperoleh vektor sandi yang benar.
Proses selanjutnya yaitu memisahkan bit pesan (23 bit) menjadi bit paritas (11 bit) dan bit
pesan (23 bit), sehingga akan didapatkan kembali pesan asli yang dikirim.
3.3 Tampilan Program
Set