Sabtu, 20 Januari 2018

Otomata dan Teknik Kompilasi

Otomata dan Teknik Kompilasi


Otomata


Otomata adalah mesin abstrak yang menggunakan model matematika, tetapi matematika yang digunakan benar-benar berbeda dibanding matematika klasik dan kalkulus. Model yang digunakan adalah model mesin state (state machine model) atau model trnasisi state (state transition model).

Terdapat 3 model komputasi pada teori otomata.
- Finite automata
- Pushdown automata
- Turing Mavhine


Memori Otomata

Otomata dibedakan berdasarkan jenis memori sementara yang dimilikinya, yaitu:

- Finite automata (FA)
Tidak memiliki memori sementara. Finite automata adalah kelas mesin dengan kemampuan-kemampuan paling terbatas.

- Pushdown automata (PDA)
Memiliki memori sementara dengan mekanisme LIFO (Last In, First Out). Mesin ini lebih ampuh karena bantuan keberadaan stack yang dipandang sebagai unit memori

- Turing Machine (TM)
Memiliki memori dengan mekanisme pengaksesan acak (Random akses memori). Turing Machine merupakan model matematika untuk komputer saat ini.


Sejarah Otomata dan Teori Bahasa

Otomata bermula sebelum komputer ada pada teori di bidang sistem logika matematika atau formal, ilmuwan David Hilbert telah mencoba menciptakan algoritma umum untuk pembuktian (seluruh) persoalan matematika secara otomatis yaitu mampu menentukan salah benarnya sembarang prosisi matematika.

Tahun 1931, Kurt G�del mempublikasikan teori ketidaklengkapan dimana membuktikan prosedur/algoritma yang dikehendaki David Hilbert tersebut tidak akan pernah ada.

G�del membangun rumus di kalkulus predikat yang diterapkan pada bilangan bulat yang memiliki pernyataan-pernyataan definisi yang tidak dapat dibuktikan maupun dibantah di dalam sistem logika yang mungkin dibangun manusia.

Formalisasi argumen teorema ketidaklengkapan G�del ini berikut penjelasan dan formalisasi selanjutnya dari prosedur efektif secara intuisi merupakan salah satu pencapaian intelektual terbesar abad 20, yaitu abad dimana formalisasi berkembang semarak.

Pengembangan teori otomata, komputasi dan teori bahasa berikutnya difasilitasi perkembangan bidang psyco-linguistic. Bidang psyco-linguistic berupaya menjawab pertanyan-pertanyan berikut:
- Apakah bahasa secara umum?
- Bagaimana manusia mengembangkan bahasa?
- Bagaimana manusia memahami bahasa?
- Bagaimana manusia mengajarkan bahasa ke anak-anaknya?
- Apa gagasan-gagasan yang dapat dinyatakan dan bagaimana caranya?
- Bagaimana manusia membangun kalimat-kalimat dari gagasan-gagasan yang berada di pikirannya?

Sekitar tahun 1950-an, Noam Chomsky menciptakan model matematika sebagai sarana untuk mendeskripsikan bahasa serta menjawab pertanyaan-pertanyaan di atas. Saat ini dimulai pendalaman bidang bahasa komputer.

Perbedaan antara bahasa komputer dan bahasa manusia adalah sampai sekarang belum diketahuinya bagaimana cara manusia mengartikan bahasa, sementara dengan pasti dapat mengartikan bahasa pada komputer.

Noam Chomsky mengemukakan perangkat format disebut grammar untuk memodelkan properti-properti bahasa.

Grammar berisi sejumlah aturan serta menspesifikasikan bahasa tertentu.

Bahasa berisi semua string yang dapat dihasilkan menggunakan aturan-aturan grammar.

Meski pembahasan Chomsky terutama ditujukan untuk bahasa alami, grammar mempunyai nilai/manfaat sangat besar di ilmu informatika/komputer karena pencapaian ini digunakan untuk mendeskripsikan dan mendefinisikan sintaks bahasa pemrograman dan bahasa-bahasa formal lainnya.

Grammar diterapkan pada perancangan kompilator dan bidang-bidang di ilmu komputer.

McCulloch dan Pitts mengemukakan Mesin Abstrak sederhana yaitu finite automata untuk memodelkan neuron nets.

Finite automata juga digunakan untuk merancang switching circuit. Studi mengenai teori otomata terkait bidang-bidang lain di ilmu komputer.

Kemudian ekivalensi antara finite automata dan ekspresi reguler (reguler expression) dikemukakan Stephen Kleene. Sejak saat itu teori bahasa dikaitkan secara erat dengan teori bahasa formal. ubungan teori otomata dan teori pengkodean (coding theory) juga banyak diteliti.

Turing machine seperti komputer modern saat ini dapat mengolah (simbol-simbol di tape) dan mengahasilkan keluaran (simbol-simbol yang berada di tapenya setelah berakhirnya sebarisan pergerakkan) merupakan karya teoritis dari Alan Turing.

Karena banyak yang berperan pada pengembangannya, bidang teori ini diberi aneka ragam nama yaitu:
- teori otomata (theory of automata)
- teori bahasa formal (theory of formal language)
- teori mesin turing (theory of Turing machine).


Teknik Kompilasi


T U J U A N
Mengetahui Penerapan konsep ilmu komputer pada perilaku komputer yaitu algoritma, arsitektur komputer, stuktur data maupun penerapan teori bahasa dan automata

Compiler adalah merupakan konstruksi inti dari ilmu komputer

ARTI KATA TEKNIK KOMPILASI
Teknik : Metode atau Cara

Kompilasi : Proses mengabungkan serta menterjermahkan sesuatu
(source program) menjadi bentuk lain

Compile : To translate a program written in a high-level programming language into machine language.

Translator :  Compiler & Interpreter
Translator : Adalah suatu program dimana mengambil input sebuah program yang ditulis pada satu bahasa program (source language) ke  bahasa lain (The object on target language)

Jika source language adalah high level language, seperti cobol, pascal, fortran maka object language adalah low-level language atau mesin language. Translator seperti ini disebut COMPILER

Kenapa perlu Translator ?
-Dengan bahasa mesin adalah bahasa bentuk bahasa terendah komputer, berhubungan langsung dengan bagian bagian komputer seperti bits, register & sangat primitive
-Jawaban atas pertanyaan ini akan membingungkan bagi programmer yang membuat program dengan bahasa mesin.
-Bahasa mesin adalah tidak lebih dari urutan 0 dan 1
-Instruksi dalam bahasa mesin bisa saja dibentuk menjadi micro-code, semacam prosedur dalam bahasa mesin
-Bagaimana dengan orang tidak mengerti bahasa mesin

Ada Beberapa Translator
1. Assembler
Source code adalah bahasa assembly, Object code adalah bahasa mesin
*.asm –>assembler–>object code (*.exe/*.com)
2. Compiler
Source code adalah bahasa tingkat tinggi, object code adalah bahasa mesin atau bahasa assembly. Source code dan data diproses berbeda
3. Interpreter
Interpreter tidak menghasilkan bentuk object code, tetapi hasil translasinya hanya dalam bentuk internal, dimana program induk harus selalu ada-berbeda dengan compiler

COMPILER vs INTERPRETER
Compiler bisa menangkap berbagai kesalahan dalam 1 program kode sumber secara sekaligus. Kalau Interpreter cuma bisa menangkap beberapa kesalahan pada 1 baris kode sumber pada suatu saat

Biasanya program yang dihasilkan compiler lebih cepat dari waktu pelaksanaan program dengan interpreter.

Kalau compiler menghasilkan kode antara (misal object code) dan harus digabungkan / dilink menjadi bentuk yang dapat dijalankan mesin / komputer (executable). Kalau Interpreter biasanya tidak menghasilkan kode antara.

Kalau hendak menjalankan program hasil kompilasi bisa dilakukan tanpa kode sumber. Kalau interpreter butuh kode sumber

Kalau dengan kompiler, maka pembuatan kode yang bisa dijalankan mesin dilakukan dalam 2 tahap terpisah, yaitu parsing / pembuatan kode objek dan linking / penggabungan kode objek dengan library. Kalau interpreter tidak ada proses terpisah.

Kalau compiler membutuhkan linker untuk menggabungkan kode objek dengan berbagai macam library demi menghasilkan suatu kode yang bisa dijalankan oleh mesin. Kalau interpreter tidak butuh linker.

Interpreter cocok untuk membuat / menguji coba modul / sub-routine / program-program kecil. Kalau compiler agak repot karena untuk mengubah suatu modul / kode objek kecil, maka harus dilakukan proses linking / penggabungan kembali semua objek dengan library yang diperlukan.

Pada kompiler bisa dilakukan optimisasi / peningkatan kwalitas kode yang bisa dijalankan. Ada yang dioptimasi supaya lebih cepat, ada yang supaya lebih kecil, ada yang dioptimasi untuk sistem dengan banyak processor. Kalau interpreter susah / tidak bisa dioptimasikan

Proses kompilasi dikelompokkan ke dalam dua kelompok besar :
1.analisa : program sumber dipecah-pecah dan dibentuk menjadi bentuk antara (inter-mediate representation)
2.sintesa : membangun program sasaran yang diinginkan dari bentuk

Penganalisa Leksikal
membaca program sumber, karakter demi karakter. Sederetan (satu atau lebih) karakter dikelompokkan menjadi satu kesatuan mengacu kepada pola kesatuan kelompok karakter (token) yang ditentukan dalam bahasa sumber. Kelompok karakter yang membentuk sebuah token dinamakan lexeme untuk token tersebut. Setiap token yang dihasilkan disimpan di dalam tabel simbol. Sederetan karakter yang tidak mengikuti pola token akan dilaporkan sebagai token tak dikenal (unidentified token)

Penganalisa Sintaks
memeriksa kesesuaian pola deretan token dengan aturan sintaks yang ditentukan dalam bahasa sumber. Sederetan token yang tidak mengikuti aturan sintaks akan dilaporkan sebagai kesalahan sintaks (sintax error). Secara logika deretan token yang bersesuaian dengan sintaks tertentu akan dinyatakan sebagai pohon parsing (parse tree)

Penganalisa Semantik
memeriksa token dan ekspresi dari batasan-batasan yang ditetapkan. Batasan-batasan tersebut misalnya :
a. panjang maksimum token identifier adalah 8 karakter,
b. panjang maksimum ekspresi tunggal adalah 80 karakter,
c. nilai bilangan bulat adalah -32768 s/d 32767,
d. operasi aritmatika harus melibatkan operan-operan yang bertipe sama

Pembangkit Kode Antara
membangkitkan kode antara (intermediate code) berdasar-kan pohon parsing. Pohon parse selanjutnya diterjemahkan oleh suatu penerjemah yang dinamakan penerjemah berdasarkan sintak (syntax-directed translator). Hasil penerjemahan ini biasanya merupakan perintah tiga alamat (three-address code) yang merupakan representasi program untuk suatu mesin abstrak. Perintah tiga alamat bisa berbentuk quadruples (op, arg1, arg2, result), tripels (op, arg1, arg2). Ekspresi dengan satu argumen dinyatakan dengan menetapkan arg2 dengan – (strip, dash)

Pengoptimal kode
melakukan optimasi (penghematan space dan waktu komputasi), jika mungkin, terhadap kode antara

Pembangkit Kode Mesin
membangkitkan kode dalam bahasa target tertentu (misalnya bahasa mesin)

Pembuatan compiler
Bahasa mesin
-Sangat sukar dan sangat sedikit kemungkinannya untuk membuat compiler dengan bahasa ini, karena manusia susah mempelajari bahasa mesin,
-Sangat tergantung pada mesin,
-Bahasa Mesin kemungkinan digunakan pada saat pembuatan Assembler

Assembly
-Hasil dari program mempunyai Ukuran yang relatif kecil
-Sulit dimengerti karena statement/perintahnya singkat-singkat, butuh usaha yang besar untuk membuat
-Fasilitas yang dimiliki terbatas

Bahasa Tingkat Tinggi (high level language)
-Lebih mudah dipelajari
-Fasilitas yang dimiliki lebih baik (banyak)
-Memiliki ukuran yang relatif besar, misal membuat compiler pascal dengan menggunakan bahasa C
-Untuk mesin yang berbeda perlu dikembangkan tahapan-tahapan tambahan.
-Misal membuat compiler C pada Dos bedasarkan compiler C pada unix

Bahasa Tingkat Tinggi (Pemrograman )
-Bahasa yang lebih dikenal oleh manusia, maksudnya adalah statement yang digunakan menggunakan bahasa yang dipakai oleh manusia (inggris),
-Bahasa pemrograman didefinisikan dengan menentukan bentuk programnya (sintak) dan arti programnya (semantik)
-Memberikan fasilitas yang lebih banyak, seperti struktur kontrol program yang terstruktur, blok-blok  serta prosedur dan fungsi-fungsi
-Progam mudah untuk di koreksi (debug)
-Tidak tergantung pada salah satu mesin
-Kontrol struktur seperti :  kondisi (if .. Then.. Else ),
perulangan (For, while ), Struktur blok (begin.. End { .. } )

Tingkatan Bahasa Pemrograman
-4GL Language
-High level Language
-Assembly Language
-Machine Language

SKENARIO PERANCANGAN BAHASA PEMROGRAMAN
-Tentukan apa yang diinginkan.
-Tentukan feature yang mungkin
-Tentukan desain dan sesuaikan dengan featurenya
-Tentukan rincian, parsing, dan error checking.
-Tuliskan user manual dan help.
-Evaluasilah, jika salah mulai lagi dari langkah 3.
-Jika sudah benar, optimisasilah dan uji segala kemungkinan.
-Cobakan kepada pengguna, tunggu reaksinya.
-Perbaiki bug dan mulai versi baru.

Tools Bantu Compiler
-Free Compiler Construction Tools
http://www.thefreecountry.com/developercity/compiler.html

-TASSKAF. Bahasa TASSKAF ini merupakan subset dari Java. Dapat disusun suatu program ke byte code yang dapat dijalankan di Java Virtual Machine (JVM).
Pada site tersebut juga tersedia informasi materi kuliah dengan LEX, YACC http://rw4.cs.uni-sb.de/~martin/COMP/TK/

-GENTLE. Gentle ini merupakan perangkat bantu (toolkit) modern untuk menulis compiler dan mengimplemntasikannya pada bahasa tertentu. Perangkat bantu ini mendukung semua proses translasi, dari definisi tree sintaks abstrak, pater matching, smart traversal dan lain sebagainya. Toolkit ini telah digunakan secara luas di riest dan industri .http://www.first.gmd.de/gentle/

-ELI. Merupakan suatu lingkungan pemrograman yang memungkinkan membuat suatu implementasi bahasa pemrograman secara lengkap dari suatu sepsifikasi. Perangkat bantu ini menangani struktural analisis, analisis nama, type, value dlsb dan akan menghasilkan kode C. http://www.cs.colorado.edu/~eliuser/

klik disini pdf,ppt untuk mendownload file

Advertisements

Report this ad

Report this ad

9 thoughts on “Teknik Kompilasi”
Diana October 19, 2011 at 12:50 am
Selamat pg..
Mas/Mba’, ada g materi atau makalah ttg mata kuliah Teknik Kompilasi, diantara materi2 dibwah ini:
1. Intermediate Code Generation
2. Implementasi Three Address Statement
3. Deklarasi
4. Code Optimation
5. Optimasi Basic Block
6. Natuaral Loop
7. Data Flow Analisis.
soalnya sy sdh nyari kemn2 tp g ktmu & hanya bhs inggris, jk ada Mas/Mba’ tlg bnget ya dikirm ke email sy di “dianadji@ymail.com”.
Atas bntuannya sy ucpkn banyak terma ksh..

Reply
3onoikom October 19, 2011 at 5:21 am
Dari file ppt dan pdf yang bisa di download apakah ada, materi yang dicari?

Reply
Pingback: Teknik Kompilasi 1_ Tahapan Kompilasi | My Simple Blog
Pingback: Modul Teknik Pemrograman Terstruktur | Terbaru 2015
Pingback: Materi Bahasa Pemrograman Komputer | Terbaru 2015
Pingback: Modul Pemrograman Assembly | Terbaru 2015
Agung Nugroho December 25, 2016 at 9:01 am
gan mau nanya dong ini ane di kasi tugas untuk melihat source code dari program yang di buat menggunakan visual C , nah ane dikasi contoh programnya aja, gmana iaa caranya melihat source codenya saja dari contoh program itu? ektensi program ane .exe

Reply
Pingback: Sistem Operasi : TEKNIK KOMPILASI | Mari Berbagi
Melva Lumban Gaol February 26, 2017 at 5:29 am
mau tanya….kalau dari segi susunannya ….Interpreter itu sebenarnya bagian dari Compiler dan assembler atau compiler itu bagian dari interpreter dan assembler atau assemble bagian dari interpreter dan kompiler??tolong ia

Reply
Leave a Reply
Your email address will not be published. Required fields are marked *

Comment


Name *


Email *


Website


Post Comment

Silahkan mencari
Silahkan mencari
Silahkan memilih
Silahkan memilih
Blog Stats
175,067 hits
January 2018
M T W T F S S
« Nov
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Archives
November 2017
October 2017
August 2017
March 2017
October 2016
September 2016
May 2016
March 2016
January 2016
November 2015
August 2015
May 2015
October 2014
March 2014
February 2014
November 2013
October 2013
January 2013
October 2012
March 2012
May 2011
April 2011
February 2011
November 2010
July 2010
June 2010
May 2010
March 2010
February 2010
January 2010
August 2009
April 2009
March 2009
Social
View triono.h.saputra’s profile on FacebookView Putr4_hadi’s profile on Instagram
Almamater komunitas
My New Campus
My old Campus
My Office
Bisnis
OLX
Bukalapak
Lazada
Traveloka
Tokopedia
Pengetahuan
nanik suharti Sistem Pakar
Ilmu Download
Fahmi Sistem Pakar
Ilmu Jarkom
Ilmu php
Ike sari astuti Sistem Pakar
Amelia agustin Sistem Pakar
Saisanto Sistem Pakar
DYADARAKAREN Sistem Pakar
Putr4
 3onoikom
Hours & Info

Bogor
Recent Posts
 Cupang Hias
 Endless OS
 Contoh Windows Shortcut
 Jenis type file
 Memunculkan tanda koma atau titik pada mail merge (nominal nilai uang)
Recent Comments
Marsan on Perintah Command Prompt – Berm…
Admin on Hard Reset Motorola XT910 Razr
uje on Hard Reset Motorola XT910 Razr
mohamed on Hard Reset Motorola XT910 Razr
3onoikom on Hard Reset Motorola XT910 Razr
Search
Search …
  Go
Upcoming Events
No upcoming events

Silahkan
RSS Feed RSS - Posts

RSS Feed RSS - Comments

Follow
 :)
Global Komputer - All about Computer
Learning about computer
Global Komputer - Home Page
[Sistem Operasi] [Komunikasi Data] [Database] [Teknologi] [Programming] [Teknik Kompilasi] [Otomata]
Home > Otomata
Mesin Pencari
Google

 Pencarian
Global Komputer Essential
Ekspresi Reguler
Finite Automata
Info Status
Online : 1 user
periode 24 jam terakhir
1 hit(s)



Validator
Valid XHTML 1.1
Valid CSS!
Tools

eXTReMe Tracker
Ads, Information or Related about Computer
Rumah Studio
The Real Management
Recording Sound Engineering
Equipped with :
Rode, Alesis,Fender,Yamaha
Shure, Sabian, Remo, Mackie
ECHO, PreSonus, Music Man
Phone : +62 819 602 8707
Medan
The Real Management
 The Real Management
Andakah yang kami cari ?
Kirimkan foto close up anda ke :
Real Management Ruko Blok E1 Lantai 3
Jl. Lebak Bulus I No. 1 Cilandak Barat
Jakarta Selatan 12430
Phone : 021-22702102
info lebih detail hubungi
Phone : +628161898512, +622157936487
Kedai Jasmin
Perum Taman Sari Bukit Damai Blok B3 No 30 Jl Raya Parung - Serpong, Pedurenan, Gunung Sindur, Bogor
Call / SMS : +62817762181 (Mila)
Menyediakan dan menjual :
- Madu ASLI Hutan Sumatra
- HABATUSSAUDA
- MADU ARAB
- PIL SEDAP MALAM
- KRIM MINYAK ZAITUN
- BUKU-BUKU ISLAMI
- PAKAIAN, TAS dan SEPATU
- TERALIS, KANOPI, dsb
- SOUVENIR PERKAWINAN

Arie's Wedding Organizer
Perum Taman Narogong Indah Blok F 29 No 11 Bekasi
- Dekorasi Pelaminan
- Tata Rias dan Busana
- Foto dan Video Shooting
- Hiburan
- Compliment
Phone :
02183464447, 02199671075, 081319792428, 085659934444


Hipotesa
Jarak terdekat antara benda di bumi merupakan jarak terjauh antara kedua benda tersebut. Jarak terjauh dapat dilihat bila kedua benda tersebut diukur dari jarak berlawan sehingga harus mengelili bumi terlebih dahulu

Perputaran bumi (rotasi) memiliki kecepatan melebihi kecepatan pesawat terbang. Dapat dilihat dari contoh bila lama perjalanan pesawat dari Jakarta ke medan adalah 2 jam, bumi berputar cukup membutuhkan waktu sekitar 30 menit (perbedaan waktu magrib untuk Jakarta dan Medan). Berarti 4 kali kecepatan pesawat penerbangan

Semakin cepat jantung berdetak, semakin lama waktu berlalu. Manusia dengan detak jantung cepat akan terlihat melaksanakan sesuatu dengan cepat, sebaliknya orang yang berdetak lambat akan merasa dia baru melakukan sedikit untuk hari ini. Efek bagi manusia dengan detak jantung cepat adalah hipertensi tinggi

Pegumpalan darah di otak dapat dikurangi dengan mengkonsumsi nenas

Sumber segala Obat sebagian besar ada di tanah. lalu air, udara, dan panas matahari. Dari tanah yang sama di bantu dengan air, udara dan sinar matahari yang sama bisa hidup tumbuh-tumbuhan yang berbeda, termasuk tumbuh-tumbuhan yang sering menjadi penyembuh penyakit-penyakit tertentu

Otomata
Teori Bahasa dan Otomata

Bahasa adalah struktur yang dikendalikan sekumpulan aturan tertentu, semacam mesin untuk memproduksi makna. Akan tetapi seperti setiap mesin hanya terdapat kemungkinan terbatas bagi setiap orang dalam menggunakannya.

Dalam bahasa disediakan pembendaharaan kata atau tanda (vocabulary), serta perangkat aturan bahasa (grammar, sintaks) yang harus dipatuhi jika hendak menghasilkan sebuah ekspresi yang bermakna.

Proses Kemampuan Pemahaman Bahasa

Hipotesis Noam Chomsky menggugat postulat John Locke (tokoh empirisme) yang menyatakan segala pengetahuan yang dimiliki manusia berasal dari rangsangan-rangsangan luar (pengalaman) yang ditangkap oleh indera-indera manusia, sehingga meniadakan pengetahuan apriori (pengetahuan yang langsung tertanam di manusia)

Noam Chomsky menyandarkan pada pemahaman bahasa sebagai sesuatu yang bersifat khas dan bawaan (tertanam) pada manusia sejak lahir.

Secara khusus Chomsky dipengaruhi Descartes tentang bahasa dan pikiran yang terikat begitu erat sehingga pengetahuan tentang bahasa bisa membuka pengetahuan tentang pikiran manusia.

Secara mendasar bahasa adalah bagian psikologi manusia yang dipahami sebagai teori tentang kemampuan pikiran manusia berupa ungkapan dari subjek psikologi.

Chomsky dan para ahli bahasa telah mengamati anak kecil mampu menjadi lancar berbahasa lebih cepat dan mudah dibanding "algoritma belajar berbahasa".

Sehingga para ahli bahasa membuat hipotesis otak berisi/memuat suatu "mesin bahasa umum". Kemudian selama masa awal pertumbuhan anak, terjadi pertemuan dengan bahasa sehari-hari yang mengubah mesin bahasa umum menjadi mesin bahasa partikular (tertentu) ke bahasa spesifik.


Teori Bahasa

Teori Bahasa adalah konsep-konsep pada "string alpabet V" dalam penyambungan karakter-karakter alpabet untuk membentuk suatu makna (bahasa).

- Alpabet

Adalah himpunan simbol (karakter) tak kosong yang berhingga. Alpabet digunakan untuk membentuk kata-kata (string-string) di bahasa. Bahasa dimulai dengan alpabet. Pada beberapa buku, alpabet dilambangkan dengan Σ

Istilah huruf, karakter dan simbol adalah sinonim menunjukkan elemen alpabet. Jika simbol berbaris bersebelahan, maka diperoleh "string simbol". Istilah kalimat, kata dan string adalah sinonim

Contoh :
{a,b} -> Himpunan yang terdiri dari simbol "a" dan "b".


- Penyambungan (Concatenation - o)

Penyambungan dilakukan pada 2 karakter atau lebih membentuk 1 barisan karakter (string simbol).

Contoh :
'a' o 'b' = 'ab'
'ab' o 'baab' = 'abbaab'


- String pada alpabet V
Karakter atau barisan karakter pada alpabet V dibentuk dari penyambungan karakter pada alpabet V.

String pada alpabet V adalah deretan (sekeun) simbol dari V dimana perulangan simbol diijinkan.

Contoh :
V = {a,b,c,d}
String pada alpabet V antara lain -> 'a','abcd','bbba'

Pemangkatan
Penyambungan dapat dianggap sebagai perkalian karena biasanya penulisannya adalah bila x dan y string, maka x o y adalah xy. sehingga pemangkatan dapat digunakan

VoV = VV = V2 ----> Panjang string = 2
VoVoV = V2oV=V3 -> Panjang string = 3
VoVoVoV = N4 ----> Panjang string = 4
VoVoVo...oV=Vn ---> Panjang string = n


Vk = VoVoVo...oV
adalah himpunan string dengan panjang k, masing-masing simbol adalah alpabet V

V* = {ε} U V+ (Kleene closure)
adalah string pada V, termasuk string kosong dimana ε string kosong (string tanpa simbol)
ε mempunyai sifat identitas, yaitu:
ε o x = x
x o ε = x

V+ = V1 U V2 U V3 U ... (Positive closure)
adalah himpunan string pada V, tidak ada string kosong didalamnya.

V0 = {ε}
adalah himpunan yang isinya hanya string kosong, dimana String kosong ε tidak sama dengan himpunan kosong �


Maka 'bbba' dapat ditulis 'b3a'


Panjang String
Panjang string dilambangkan |w| dimana panjang string adalah jumlah simbol di dalam string bukan pada alpabet dan pengulangan kemunculan simbol dihitung.

Contoh:
|ε| = 0
|a| = 1
|aa| = 2
|aaa| = 3
|aaab| = 4

Kriptografi


Kriptografi


Alat kriptografi Lorenz yang dipakai di Jerman saat perang dunia II.

Kriptografi (atau kriptologi; dari bahasa Yunani κρυπτός kryptós, "tersembunyi, rahasia"; dan γράφειν graphein, "menulis", atau -λογία logi, "ilmu")
[1] atau sandisastra merupakan keahlian dan ilmu dari cara-cara untuk komunikasi aman pada kehadirannya di pihak ketiga.
[2] Secara umum, kriptografi ialah mengenai mengkonstruksi dan menganalisis protokol komunikasi yang dapat memblokir lawan;
[3] berbagai aspek dalam keamanan informasi seperti data rahasia, integritas data, autentikasi, dan non-repudansi
[4] merupakan pusat dari kriptografi modern. Kriptografi modern terjadi karena terdapat titik temu antara disiplin ilmu matematika, ilmu komputer, dan teknik elektro. Aplikasi dari kriptografi termasuk ATM, password komputer, dan E-commerce.

Kriptografi sebelum merupakan sinonim dari "enkripsi", konversi dari kalimat-kalimat yang dapat dibaca menjadi kelihatan tidak masuk akal. Pembuat dari pesan enkripsi membagi teknik pemecahan sandi yang dibutuhkan untuk mengembalikan informasi asli jika hanya dengan penerima yang diinginkan, sehingga dapat mencegah orang yang tidak diinginkan melakukan hal yang sama. Sejak Perang Dunia I dan kedatangan komputer, metode yang digunakan untuk mengelola kriptologi telah meningkat secara komplek dan pengaplikasiannya telah tersebar luar.

Kriptografi modern sangat didasari pada teori matematis dan aplikasi komputer; algoritme kriptografi didesain pada asumsi ketahanan komputasional, membuat algoritme ini sangat sulit dipecahkan oleh musuh. Secara teoretis, sangat sulit memecahkan sistem kriptografi, namun tidak layak melakukannya dengan cara-cara praktis. Skema ini oleh karena itu disebut sangat aman secara komputasional; kemajuan teoretis dapat meningkatkan algoritme faktorisasi integer, dan meningkatkan teknologi komputasi yang membutuhkan solusi ini untuk diadaptasi terus-menerus. Terdapat skema keamanan informasi yang benar-benar tidak boleh dapat ditembuh bahkan dengan komputasi yang tak terbatas namun skema ini sangat sulit diimplementasikan.

Teknologi yang berhubungan dengan kriptologi memiliki banyak masalah legal. Di Inggris, penambahan Regulasi Penyelidikan Aksi Wewenang membutuhkan kriminal yang tertuduh harus menyerahkan kunci dekripsinya jika diminta oleh penegah hukum. Jika tidak pengguna akan menghadapi hukum pidana.
Electronic Frontier Foundation (EFF) terlibat dalam sebuah kasus di Amerika Serikat yang mempertanyakan jika seorang tersangka harus untuk menyerahkan kunci dekripsi mereka kepada pengak hukum merupakan inkonstitusionil. EFF memperdebatkan bahwa regulasi ini merupakan pelanggaran hak untuk tidak dipaksa mencurigai dirinya sendiri, seperti dalam Amendemen Kelima Konsitusi Amerika.

Terminologi

Hingga zaman modern kriptografi mengacu hampir secara ekslusif pada enkripsi, yang merupakan proses mengkonversikan informasi biasa menjadi teks yang tak dapat dipahami (disebut teks sandi). Deskripsi merupakan kebalikan, dengan kata lain, memindahkan teks sandi yang tidak dapat dibaca menjadi teks yang dapat dibaca. sandi atau (cypher) merupakan sepasang algoritme yang menciptakan enkripsi dan membalikan dekripsi. Operasi yang lebih mendalam dari sandi diatur baik oleh algoritme dan pada setiap permintaan dekripsi dengan kunci. Kucin ini bersifat rahasia (yang biasanya diketahui hanya oleh orang yang berkomunikasi), dan biasanya terdiri dengan karakter string singkat, yang dibutuhkan untuk mendekripsi teks sandi. Sebelumnya dinamakan "kriptosistem" yang merupakan daftar teratur dari elemen-elemen teks terbatas, teks sandi terbatas, kunci terbatas, dan algoritme dekripsi dan enkripsi yang berkoresponden pada setiap kunci. Kunci sangat penting baik pada penggunaan secara teoretis maupun sebenarnya, di mana sandi tanpa kunci variabel dapat dengan mudah rusak dengan hanya pengetahuan yang digunakan dari sandi dan dengan kemungkinan tidak berguna (atau malam tidak produktif) untuk banyak tujuan. Secara historis, sandi sering digunakan secara langsung untuk enkripsi atau deskripsi tanpa prosedur tambahan seperti autentikasi atau pengecekan integritas.

Dalam penggunaan bahasa sehari-hari, istilah "sandi" sering digunakan untuk menunjukkan setiap metode enkripsi atau penyembunyian arti. Bagaimanapun, dalam kriptografi, sandi telah memiliki arti yang lebih spesifik. Itu berarti pemindahan unit teks (contoh kata atau frasa yang berarti) dengan sebuah kata sandi (sebagai contoh, "wallaby" berarti "menyerang saat fajar"). Sandi tidak lagi digunakan pada kriptografi serius-kecuali sesekali untuk beberapa hal yang menyangkut istilah tertentu-sejak sandi yang dipilih secara tepat lebih praktis dan lebih aman daripada sandi terbaik dan juga dapat diadaptasikan pada komputer.

Kriptanalisis merupakan istilah yang digunakan untuk mempelajari metode untuk memperoleh arti dari informasi enkripsi tanpa mengakses sandi secara normal yang dibutuhkan untuk melakukannya; sebagai contoh ilmu yang mempelajari cara untuk memecahkan algoritme enkripsi atau implementasinya.

Beberapa kegunaan dari istilah kriptografi dan kriptologi selalu berubah di Bahasa Inggris, sedang lainnya menggunakan kriptografi untuk merujuk secara spesifik pada penggunakan dan pengaplikasikan dari teknik kriptografi dan kriptologi untuk merujuk pada ilmu kombinasi dari kriptografi dan kriptanalisis.[8][9] Bahasa Inggris lebih fleksibel dari istilah umum yang digunakan pada beberapa bahasa lain yang dimana kriptologi (dilakukan oleh kriptolog) selalu digunakan pada arti kedua di atas.

Ilmu karateristik dari bahasa yang memiliki aplikasi pada kriptografi[10] (atau kriptologi) (seperti data frekuensi, kombinasi surat, pola universal, dll.) disebuh kriptolinguistik.

Sejarah kriptografi dan kriptanalisis

Sebelum zaman modern, kriptografi dilihat hanya semata-mata berhubungan dengan pesan rahasia (seperti enkripsi)-konversi pesan dari bentuk dapat dipahami menjadi bentuk yang tak dapat dipahami dan kembali lagi satu dengan yang lain, menjadikannya tak dapat dibaca oleh pencegat atau penyadap tanpa ilmu khusus (di mana sandi dibutuhkan untuk dekripsi pesan itu). Enkripsi digunakan untuk menyakinkan kerahasiaan di komunikasi, termasuk teknik untuk pemeriksaan integritas pesan, autentikasi identitas pengirim/penerima, tanda-tangan digital, bukti interaktif dan komputasi keamanan, serta banyak lagi yang lain.

Kriptografi klasik

scytale Yunani yang direkonstruksi kembali, alat sandi pertama kali
Bentuk awal dari penulisan rahasia membutuhkan lebih sedikit dari implementasi penulisan sejak banyak orang tidak dapat membaca. lawan yang lebih terpelajar, membutuhkan kriptografi yang nyata. Tipe sandi klasik utama ialah sandi transposisi, di mana mengatur aturan huruf pada pesan (contoh 'hello world' menajdi 'ehlol owrdl' pada skema pengubahan sederhana ini), dan sandi subtitusi, di mana secara sistematis mengganti huruf atau grup kata dengan kata lainnya dari grup kata (contoh 'fly at once' menjadi 'gmz bu podf' dengan mengganti setiap huruf dengan yang lain di alfabet Latin. Substitusi sandi pada awalnya disebut sandi Caesar, di mana setiap kata pada teks diganti degan huruf dari jumlah tetap pada posisi di alfabet. Laporan Suetonius menyebutkan Julius Caesar mengunakannya untuk berkomunikasi dengan jendral-jendralnya. Atbash merupakan contoh dari sandi Ibrani pada mulanya. Penggunaan awal kriptografi yang diketahui merupakan teks sandi yang diukir pada batu di Mesir (1900 sebelum Masehi), namun teks sandi ini digunakan hanya sebagai hiburan untuk pengamat terpelajar daripada cara untuk menyimpan informasi.

Yunani kuno menyebutkan telah mengetahui sandi (contoh sandi transposisi scytale yang diklaim telah digunakan oleh militer Sparta. Steganografi (menyembunyikan kehadiran pesan sehingga pesan tersebut menjadi rahasia) juga pertama kali diperkenalkan pada masa kuno. Contoh awal seperti, dari Herodotus, menyembunyikan pesan - sebuah tato pada kepala budaknya - di bawah rambut yang kembali tumbuh. Contoh yang lebih modern dari steganografi termasuk penggunaan tinta tak tampak, mikrodot, dan tanda air digital untuk menyembunyikan informasi.

Di India, Kamasutra dari Vātsyāyana yang berumur 2000 tahun berbicara dengan dua jenis sandi yang berbeda yang disebut Kautiliyam dan Mulavediya. Di Kautiliyam, substitusi kata sandi berdasarkan relasi fonetik, seperti vokal menjadi konsonan. Di Mulavediya, alfabet sandi terdiri dari kata-kata yang berpasangan dan bertimbal-balik.


Lembar pertama dari buku Al-Kindi yang menjelaskan bagaimana mengenkripsikan pesan
Teks sandi yang dihasilkan dengan sandi klasik (dan beberapa sandi modern) selalu mengungkapkan informasi statistik tentang teks awal, yang sering dapat digunakan untuk memecahkannya. Setelah ditemukannya analisis frekuensi oleh matematikawan Arab dan polymath Al-Kindi (juga dikenal sebagai Alkindus) pada abad ke-9, hampir semua jenis sandi menjadi lebih sulit dipecahkan oleh penyerang yang memiliki informasi tersebut. Seperti sandi klasik yang masih populer hingga saat ini, meskipun lebih banyak dalam bentuk puzzle. Al-Kindi menuliskan buku kriptografi yang berjudul Risalah fi Istikhraj al-Mu'amma (Risalah untuk Mnejermahkan Pesan Kriptografi), yang menjelaskan teknik analisis frekuensi kriptanalisis yang pertama kalinya.


Mesin sandi berbentuk buku pada abad ke-16 milik Perancis, ditangan Henri II dari Perancis

Surat terenkripsi dari Gabriel de Luetz d'Amaron, Duta Besar Perancis untuk Kerajaan Ottoman, setelah 1546, dengan penguraian parsial
Pada dasarnya semua sandi tetap rentan kepada kriptanalisis menggunakan teknik analisis frekuensi hingga pengembangan dari sandi polyalphabetic, yang dijelaskan oleh Leon Battista Alberti sekitar tahun 1467, meskipun terdapat beberapa indikasi bahwa hal ini telah terlebih dahulu diketahui oleh Al-Kindi. Penemuan Alberti menggunakan sandi yang berbeda (seperti subtitusi alfabet) untuk beberapa bagian pesan (mungkin untuk setiap teks surat berturut-turut hingga akhir). Dia juga menemukan apa yang mungkin menjadi alat sandi ototmatis untuk pertama kalinya, roda yang menerapkan pelaksanaan dari penemuannya. Pada sandi Vigenère polyalphabetic, enkripsi menggunakan kata kunci, yang mengatur substitusi surat berdasarkan surat mana dari kata kunci yang digunakan. Pada pertengahan abad ke-19 Charles Babbage menunjukkan bahwa sandi Vigenère sangat rentan terhadap pemeriksaan Kasiski, namun hal ini diterbitkan pertama sekali kira-kira sepuluh tahun kemudian oleh Friedrich Kasiski.

Walaupun analisis frekuensi dapat sangat kuat dan menjadi teknik umum melawan banyak sandi, enskripsi masih sangat efektif dalam penerapannya, sebagaimana banyak kriptanalisis masih khawatir akan penerapannya. Memecahkan pesan tanpa menggunakan analisis frekuensi pada dasarnya membutuhkan pengetahuan sandi dan mungkin kunci yang digunakan, sehingga membuat spionase, penyuapan, pencurian, dll. Hal ini secara tegas mengakui kerahasiaan algoritme sandi pada abad 19 sangat tidak peka dan tidak menerapkan praktik keamanan pesan; faktanya, hal ini lebih lanjut disadari bahwa setiap skema kriptografi yang memadai (termasuk sandi) harus tetap aman walaupun musuh benar-benar paham tentang algoritme sandi itu sendiri. Keamanan kunci yang digunakan harus dapat menjamin keamanan pemegang kunci agar tetap rahasia bahkan ketika diserang sekalipun. Prinsip fundamental ini pertama kali dijelaskan pada tahun 1883 oleh Auguste Kerckhoffs dan secara umum dikenal dengan Prinsip Kerckhoff; secara alternatif dan blak-blakan, hal ini dijelaskan kembali oleh Claude Shannon, penemu teori informasi dan fundamental dari teori kriptografi, seperti pribahasa Shanon - 'musuh mengetahui sistemnya'.

Alat-alat bantu yang berbeda telah banyak digunakan untuk membantu sandi. Salah satu alat paling tua yang dikenali merupakan scytale dari Yunani, tangkai yang digunakan oleh Spartan sebagai alat bantuk untuk memindahkan sandi (lihat gambar di atas). Pada zaman pertengahan, alat bantu lainnya ditemukan seperti jerejak sandi, yang juga dikenal sebagai jenis steganografi. Dengan penemuan polialfabetik, sandi menjadi lebih mutakhir dengan bantuan disk sandi milik Alberti, skema tabula recta Johanner Trithemius, dan silinder multi Thomas Jefferson (tidak banyak diketahui, dan ditemukan kembali oleh Bazeries sekitar tahun 1900. Banyak alat mekanik enkripsi/dekripsi ditemukan pada awal abad ke-20, dan beberapa telah dipatenkan, di antaranya mesin rotor yang dikenal dengan nama mesin Enigma digunakan oleh pemerintah dan militer Jerman dari akhir tahun 1920-an dan selama Perang Dunia II. The ciphers implemented by better quality examples of these machine designs brought about a substantial increase in cryptanalytic difficulty after WWI.

Era komputer
Kriptanalisis dari alat mekanis baru terbukti lebih sulit dan melelahkan. Di Inggris, usaha kriptanalisis di Bletchley Park selama Perang Dunia II memacu perkembangan alat yang lebih efisien untuk membawa tugas yang berulang-ulang. Hal ini berujung pada pengembangan Colossus, komputer digital pertama sekali yang bekerja penuh secara elektronik, yang membantu penyandi untuk mendekripsikan mesin Lorenz SZ40/42 milik tentara Jerman.

Seperti juga pengembangan komputer digital dan elektronik, kriptanalisis juga berkembang menjadi lebih kompleks. Lebih jauh lagi, komputer dapat mengenkripsi setiap jenis data yang mungkin dalam bentuk biner, tidak seperti chiper klasik yang hanya mengenkripsi teks bahasa tertulis; hal ini sangat baru dan signifikan. Penggunaan komputer telah menggantikan kirptografi bahasa, baik untuk desain chiper dan kriptanalisis. Banyak chiper komputer dapat dikategorikan dengan operasi mereka pada urutan biner (kadang dalam grup atau blok), tidak seperti skema mekanikal dan klasik, yang biasa memanipulasikan karakter tradisional (seperti surat dan digit) secara langsung. Bagaimanapun, komputer juga membantu kriptanalisis, yang mengimbangi hingga batas tertentu untuk kompleksitas chiper yang lebih tinggi. Namun, chiper modern yang baik telah mengungguli kriptanalisis; kasus ini biasa menggunakan kualitas chiper yang lebih efisien (seperti membutuhkan sumber daya yang sedikit dan cepat, seperti memori atau kapabilitas CPU), sedang mendekripsikannya membutuhkan udaha dengan urutan yang lebih besar, dan lebih luas dibandingkan chiper yang lebih klasik, membuat kriptanalsis menjadi lebih tidak efisien dan tidak berguna.

Riset akademik kriptografi yang terbuka luas masih relatif baru; dimulai pada pertengahan 1970an. Pada saat ini, personel IBM mendesain algoritme yang menjadi standar enkripsi data Federal; Whitfield Diffie dan Martin Hellman mempublikasikan algoritme perjanjian mereka. Dan algoritme RSA yang dipublikasikan oleh kolumnis Amerika Martin Gardner. Sejak saat itu, kriptografi telah sangat luas digunakan dalam dunia komunikasi, jaringan komputer, dan keamanan komputer secara umum. Beberapa teknik kriptografi modern dapat menyimpan kunci rahasianya jika menggunakan masalah matematika rumit, seperti faktorisasi integer atau masalah logaritma diskrit, jadi terdapat hubungan yang mendalam dengan matematika abstrak. Tidak ada bukti pasti bahwa teknik kriptografi aman. Saat terbaik, terdapat bukti bahwa beberapa teknik aman jika beberapa masalah komputasional sulit untuk dipecahkan, atau asumsi tertentu mengenai implementasi atau penggunakan praktikal bertemu.

Semakin mengetahui sejarah kriptografi, algoritme kriptografi dan desainer sistem harus juga bijaksana mempertimbangkan pengembangan masa depan saat bekerja dengan desain mereka. Sebagai contoh, pengembangan kontinu pada computer processing power telah meningkatkan cakupan brute-force attack, jadi ketika menentukan panjang kunci, diharuskan memilih kunci yang sulit. Efek potensial dari komputer kuantum telah dipertimbangkan oleh beberapa sistem desainer kriptografi; implementasi kecil dari mesin ini yang akan segera diumumkan mungkin akan membutuhkan perhatian khusus ketimbang hanya spekulatif.

Pada Dasarnya, pada awal abad ke-20, kriptografi secara singkat berkenaan dengan bahasa dan pola lexicographic. Sejak saat itu tekanannya telah berubah, dan kriptografi saat ini lebih luas menggunakan matematika, termasuk aspek teori informasi, kompleksitas komputasional, statistik, kombinasi, aljabar, teori bilangan, dan matematika diskrit secara umum. Kriptografi juga merupakan cabang teknik, namun tidak biasa sebab hal ini berkaitan dengan pertentangan yang aktif, pintar, dan jahat; teknik jenis lain (seperti teknik kimia dan sipil) hanya membutuhkan gaya natural netral. Terdapat juga riset berkembang yang memeriksa hubungan antara masalah kriptografi dan fisika kuantum.

Kriptografi Modern

Bidang kriptografi yang lebih modern dapat dibagi dalam beberapa area studi. Beberapa yang paling penting akan dibahas di sini.

Kriptografi kunci-simetris

Kriptografi kunci-simetris, di mana satu kunci di gunakan untuk enkripsi dan dekripsi
Kriptografi kunci-simetris merujuk pada metode enskripsi di mana kedua pengirim dan penerima membagi kunci yang sama (atau, walaupun kuncinya tidak mirip, namun dapat berhubungan dengan cara komputasi sederhana). Hal ini menjadi satu-satunya jenis enkripsi yang ketahui publik hingga Juni 1976. [[Berkas: International Data Encryption Algorithm InfoBox Diagram.svg|jmpl|Satu putaran (dari 8.5) chiper International Data Encryption Algorithm, digunakan pada beberapa versi PGP (Pretty Good Privacy) untuk enkripsi tingkat tinggi, seperti e-mail Chiper kunci simetris diimplementasikan baik itu sebagai chiper blok atau chiper stream. Sebuah block chiper enchiper masukan pada blok plainteks sebagai lawanan untuk karakter individual, bentuk masukan yang digunakan oleh chiper aliran.

Standar Enkripsi Data (SED) dan Standar Enkripsi Lanjutan (SEL) merupakan desain chiper blok yang telah ditunjuk sebagai standar kriptografi oleh pemerintah Amerika (walaupun penunjukan SED pada akhirnya ditarik setelah SEL diadopsi). Walaupun penarikannya sebagai standar resmi, SED (masih menjadi varian yang masih terbukti dan lebih aman) masih cukup terkenal; Hal ini digunakan oleh banyak penerapan dari enskripsi ATM hingga keamanan e-mail dan akses remote aman. Banyak chiper blok lainnya telah didesain dan dirilis, dengan kualitas yang bervariasi. Banyak telah juga yang dihancurkan, seperti FEAL

Beberapa chiper, yang berbeda dengan tipe 'blok', membuat berkas panjang material kunci yang panjang, di mana dikombinasikan dengan bit-bit teks atau karakter-karakter, sedikit mirip dengan one-time pad. Pada chiper aliran, aliran keluarannya diciptakan berdasarkan keadaan internal yang tersembunyi yang berubah saat chiper bekerja. Keadaan internal mulanya diatur menggunakan bahan kunci rahasia. RC4 sangat luas digunakan sebagai chiper aliran. Chiper blok dapat digunakan sebagai chiper aliran.

Fungsi hash Kriptografi merupakan algoritme kriptografi tipe ke-tiga. Fungsi ini mengambil segala panjang pesan sebagai input, dan panjang keluaran hash yang pendek dan tetap, yang dapat digunakan sebagai (sebagai contoh) tanda tangan digital. Untuk memiliki fungsi hash yang baik, penyerang tidak dapat mencari dua pesan yang dapat menghasilkan hash yang sama. MD4 merupakan fungsi hash pangjang yang sekarang telah dapat dipecahkan; MD5, varian yang lebih kuat dari MD4, sudah luas digunakan namun dapat dipecahkan saat beroperasi. Agensi keamanan nasional Amerika mengembangkan serial Algoritme Hash Aman seperti fungsi hash MD5: SHA-0 ialah algoritme cacat yang kemudian ditarik; SHA-1 digunakan secara luas dan lebih aman dari MD5, namun kriptanalisis telah menemukan serangan padanya; keluarga SHA-2 meningkatkan performa SHA-1, namun belum secara luas digunakan; dan kewenangan Amerika mengatakan hal ini cukup bijaksana dari sudut pandang keamanan untuk mengembangkan standar baru "toolkit algoritme hash NIST secara keseluruhan untuk peningkatan kekuatan secara signifikan. Sehingga, pada tahun 2012, standar nasional Amerika memilih SHA-3 sebagai standar desain hash yang baru.[25]

Message authentication code (MAC) hampir mirip dengan fungsi hash kriptografi, kecuali terdapat kunci rahasia yang dapat digunakan untuk membuktikan nilai hash melalui serangkaian resep;[4] kerumitan tambahan yang melindungi skema serangan algoritme penyingkat sederhana, dan dianggap cukup menguntungkan.

Kriptografi kunci-publik

Kriptogfari kunci-publik, di mana kunci-kunci yang berbeda digunakan untuk enkripsi dan dekripsi
Kriptosistem kunci-simetris menggunakan kunci yang sama untuk enkripsi dan dekripsi sebuah pesan, walaupun pesan atau kelompok pesan dapat memiliki kunci yang berbeda dari yang lain. Kerugian yang paling signifikan dari chiper simetris ialah kebutuhan manajerial kunci untuk menggunakannya secara aman. Setiap sepasang pihak komunikasi yang berbeda harus, idealnya, membagi kunci yang berbeda, dan juga membagi textchiper yang berbeda juga. jumlah kunci yang dibutuhkan meningkat dua kali lipat dari jumlah anggota jaringan, yang sangat cepat membutuhkan skema manajemen kunci komplek untuk menjaga semuanya tetap konsisten dan rahasia. Kesulitan dari menciptakan kunci rahasia yang aman di antara dua pihak yang saling berkomunikasi, ialah, ketika belum adanya jaringan aman di antara keduanya, juga kehadiran chicken-and-egg problem yang dianggap menjadi tantangan praktikal untuk pengguna kriptografi di dunia nyata.

[[Berkas:Diffie and Hellman.jpg|jmpl|kiri|Whitfield Diffie dan Martin Hellman, penulis jurnal pertama kriptografi kunci-publik]] Pada jurnal pionir tahun 1976, Whifiled Diffie dan Martin Hellman mengusulkan istilah dari kriptografikunci-publik (juga, secara umum, disebut kunci asimetris) pada dua istilah yang berbeda namun secara matematis terdapat kunci yang berhubungan, yaitu kunci publik dan kunci privat.[26] Sistem kunci pablik dikonstruksikan sangat baik sehingga kalkulasi dari satu kunci ('kunci privat') secara komputasional tidak mirip dengan (kunci 'publik') walaupun secara kebutuhan mereka mirip. Malah, kedua kunci dihasilkan secara rahasia, sebagai pasangan yang tidak berhubungan.[27] Sejarawan David Kahn menjelaskan kriptografi kunci-publik sebagai "konsep baru paling revolusioner dalam bidang ini sejak substitusi polialfabetik yang ditemukan pada masa Renaissance[28]

Dalam ekosistem kunci-publik, kunci publik dapat secara bebas terdistribusi, saat pasangannya kunci privat harus selalu terjaga rahasia. Pada sistem enkripsi kunci-publik, kunci publik digunakan untuk enkripsi, sedang kunci privat atau rahasia digunakan untuk dekripsi. Sementara Diffie dan Hellman tidak dapat menemukan sistem seperti itu, mereka menunjukkan bahwa kriptografi kunci-publik memang benar mungkin dengan menunjukkan protokol Diffie-Hellman key exchange, sebuah solusi yang sekarang digunakan secara luas dalam komunikasi aman, mengizinkan dua kelompok untuk secara rahasia membagi kunci enkripsi.[17]

Jurnal Diffie dan Hellman menyebar luas pada dunia akademi dalam mencari sistem enkripsi kunci-publik praktis. Lalu pada tahun 1978 Ronald Rivest, Adi Shamir, dan Len Adleman, menemukan solusi yang kini dikenal sebagai algoritme RSA.[29]

Algoritme Diffie-Hellman dan RSA, sebagai tambahan dalam menciptakan contoh algoritme kunci-publik kualitas tinggi pertama yang dikenal publik, telah sangat luas digunakan. Yang lain termasuk Kriptosistem Cramer-Shoup, Enkripsi ElGamal, dan varian Teknik kurva eliptis.

Lalu, dokumen yang dipublikasikan pada tahun 1997 oleh Government Communication Headquarters (GCHQ), organisasi rahasia Inggris, mengungkapkan bahwa kriptografer di GCHQ telah mengantisipasi beberapa pengembangan akademik.[30] Dilaporkan, sekitar tahun 1970, James H. Ellis telah memahami prinsip kriptografi kunci asimetris. Pada tahun 1973, Clifford Cocks menemukan sulisi yang esensialnya menyerupai algoritme RSA.[30][31] Dan pada tahun 1974, Malcom J. Williamson diklaim telah mengembangkan algoritme pertukaran Diffie-Hellman.[32]


icon kunci dari browser web Firefox, yang mengindikasikan TLS, sistem kriptografi kunci-publik, sedang digunakan
Kriptografi kunci-publik dapat juga digunakan untuk mengimplementasikan skema tanda tangan digital. Tanda tangan digital berhubungan dengan tanda tangan pada umumnya; mereka memiliki karateristik yang sama dimana mudah bagi pengguna untuk membuatnya, namun sangat sulit bagi orang lain untuk memalsukannya. Tanda tangan digital dapat juga secara permanen mengikat pada konten pesan yang sedang ditanda tangani; mereka lalu tidak dapat 'dipindahkan' dari satu dokumen ke dokumen yang lain, dan setiap usaha akan dapat terdeteksi. Pada skema tanda tangan digital, terdapat dua algoritme: satu untuk menandatangani, di mana kunci rahasia digunakan untuk memproses pesan (atau hash dari pesan, atau keduanya), dan satu untuk verivikasi, di mana kunci publik yang sesuai digunakan dengan pesan untuk memeriksa validitas tanda tangan. RSA dan DSA merupakan dua skema tanda tangan digital yang paling terkenal. Tanda tangan digital merupakan pusat dari operasi infrastruktur kunci publik dan banyak skema keamanan jaringan lainnya (seperti Transport Layer Security, VPN, dll).[23]

Algoritme kunci publik paling sering didasari pada teori masalah kompleksitas komputasional, sering dengan teori bilangan. Sebagai contoh, kekuatan RSA berhubungan dengan masalah faktorisasi integer, sedangkan Diffie-Hellman dan DSA berhubungan dengan masalah logaritma diskrit. Baru-baru saja, kriptografi kurva eliptis telah ditemukan, sistem di mana keamanan yang didasari pada masalah teoretis bilangan yang melibatkan kurva eliptis. Dikarenakan kesulitan masalah pokok, kebanyakan algoritme kunci-publik melibatkan operasi seperti eksponensial dan perkalian aritmetika modular, di mana teknik ini secara komputasional lebih mahal ketimbang teknik yang digunakan pada banyak chiper blok, khususnya dengan ukuran kunci yang dibutuhkan. Hasilnya, kriptosistem kunci-publik seringnya merupakan kriptosistem hybrid, yang merupakan algoritme enkripsi kunci-simetris berkualitas tinggi digunakan untuk pesan itu sendiri, sedang kunci simetris yang relevan dikirimkan dengan pesan, namun dienkripsikan menggunakan algoritme kunci publik. Hampir sama, skema tanda tangan hybrid sering digunakan, di mana fungsi hash kriptogfari dihitung secara komputer, dan hanya hash hasil yang ditanda tangani secara digital.[4]

Kriptanalisis Sunting

Varian dari mesin Enigma, digunakan oleh militer dan otoritas Jerman pada akhir tahun 1920an saat Perang Dunia II, mengimplementasikan jenis chiper polialfabetik elektro-mekanikal yang rumit. Membaca dan memecahkan chiper Enigma di Biro chiper Polandia, selama 7 tahun sebelum perang, dan dekripsi di Bletchley Park, menjadi faktor penting kemenangan sekutu.[7]
Tujuan dari kriptanalisis ialah untuk menemukan kelemahan dan ketidakamanan skema kriptografi, sehingga memungkinkan peningkatan atau perbaikan.

Terdapat kesalahpahaman umum bahwa setiap metode enkripsi dapat dipecahkan. Hubungan dengan karya Claude Shannon di Bell Labs pada Perang Dunia II, membuktikan bahwa chiper one-time pad tidak dapat dipecahkan, menemukan kunci utama yang acak, tidak pernah dapat digunakan lagi, menyimpan rahasia dari setiap penyerang, dan memiliki panjang yang sama dan lebih besar dari pesan itu sendiri.[33] Kebanyakan chiper, selain one-time pad, dapat dipecahkan dengan cara komputasional brute force attack, namun jumlah usaha yang dibutuhkan dapat sangat lama tergantung pada besar kunci, sebanding dengan usaha yang dibutuhkan untuk membuat chiper. Pada beberapa kasus, keamanan yang efektif dapat dicapai jika terbuktik bahwa usaha yang dibutuhkan (seperti "faktor kerja", dalam istilah Shannon) melebihi kemampuan dari setiap musuh. Ini berarti bahwa tidak boleh ada metode yang efisien (berbanding terbalik dengan metode brute force yang menghabiskan waktu) dapat ditemukan untuk memecahkan chiper. Sejak tidak ada bukti yang ditemukan, metode one-time-pad tetap secara teoretis merupakan chiper yang tidak dapat dipecahkan.

Terdapat banyak jenis variasi serangan kriptanalitis, dan dapat diklasifikasikan dalam beberapa cara yang berbeda. Perbedaan yang sama yang diketahui oleh penyerang dan kemampuan yang tersedia. Pada serangan chiperteks saja, kriptanalis memiliki akses hanya pada chiperteks (kriptosistem modern yang baik biasanya secara efektif kebal terhadap serangan cipherteks). Pada serangan teks yang diketahui, kriptanalis memiliki akses pada chiperteks dan teks yang berhubungan (atau pada banyak pasangan). Pada serangan teks yang terpilih, kriptanalis memilih teks dan mempelajari tekschiper yang berhubungan (mungkin beberapa kali); sebagai contoh, istilah gardeing yang digunakan oleh Inggris selama Perang dunia II. Akhirnya, pada serangan chiperteks yang terpilih, kriptanalis dapat memilih chiperteks dan belajar teks yang berhubungan.[4] Penting untuk diketahui, walaupun dengan jumlah yang sangat besar, ialah sering terjadinya kesalahan (umumnya pada desain atau penggunaan protokol kriptografis.


Monumen Polandia (tengah) kepada kriptologisnya yang memecahkan mesin cipher Enigma Jerman, dimulai pada tahun 1932, dan berakhir pada Perang Dunia II
Kriptanalisis cipher kunci-simetris biasanya melibatkan mencari serangan melawan cipher blok atau cipher aliran yang lebih efisien daripada setiap serangan yang dapat melawan cipher sempurna. Sebagai contoh, serangan brute force sederhana melawan DES membutuhkan satu teks yang diketahui dan dekripsi 255, membutuhkan kira-kira setengah dari kunci yang mungkin, untuk mencapai titik kemungkinan mengetahui kunci dapat ditemukan atau tidak. Namun hal ini tidak cukup menjadi jaminan; serangan kriptanalis linear terhadap DES membutuhkan 243 teks yang deiketahui dan kira-kira 243 operasi DES.[34] Hal ini dianggap sebagai pengembangan dari serangan brute force.

Algoritme kunci-publik didasari pada kesulitan komputasional pada masalah yang beragam. Kesulitan yang paling terkenal ialah faktorisasi integer (seperti algoritme RSA yang didasari pada masalah yang berhubungan dengan faktor integer), namun masalah logaritma diskrit juga penting. Banyak kriptanalisis kunci-publik berhubungan dengan algoritme numerikal untuk menyelesaikan masalah komputasional ini, dan beberapa darinya, efisien (contoh dalam waktu pengerjaan). Sebagai contoh, algoritme yang paling dikenal untuk menyelesaikan kriptografi kurva eliptik versi logaritma diskrit sangat menghabiskan banyak waktu ketimbang algoritme yang paling dikenal untuk faktorisasi, paling tidak untuk masalah dengan besar yang lebih kurang sama. Oleh karena itu, segala hal harus sama, untuk mencapai kekuatan menahan serangan yang sama, teknik enkripsi berbasis faktor harus menggunakan kunci yang lebih besar dari teknik kurva eliptik. Untuk alasan ini, kriptosistem kunci-publik yang didasari pada kurva eliptik telah menjadi lebih dikenal sejak penemuannya pada pertengahan tahun 1990an.

Sementara kriptanalisis menggunakan kelemahan pada algoritme itu sendiri, serangan pada kriptosistem lainnya didasari pada penggunaan dari algoritme pada perangkat yang nyata, yang disebut side-channel attack. Jika kriptanalis memiliki akses pada, sebagai contoh, jumlah waktu yang dibutuhkan perangkat untuk mengenkripsi jumlah teks atau memberikan laporan kesalahan pada password atau karakter pin, dia mungkin dapat menggunakan serangan waktu untuk memecahkan cipher yang paling tidak tahan pada analisis. Penyerang mungkin juga mempelajari pola dan panjang pesan untuk mendapatkan informasi berharga; hal ini dikenal sebagai analisis trafik[35] dan cukup berguna untuk peringatan serangan. Administrasi kriptosistem yang lemah, seperti mengizinkan kunci yang terlalu pendek, akan membuat setiap sistem menjadi mudah diserang, terlepas dari faktor lainnya. Dan, tentu saja, teknik sosial, dan serangan lain melawan personel yang bekerja dengan kriptosistem atau pesan yang mereka pegang (seperti perampokan, pemerasan, blackmail, espionase, penyiksaan, dll) menjadi serangan yang paling produktif dari semuanya jenis serangan.

Kriptografi sederhana Sunting
Banyak karya teoritikal kriptografi berkaitan dengan kriptografi sederhana-algoritme dengan sifat kriptografi dasar-dan hubungannya pada masalah kriptografi lainnya. Alat kriptografi yang lebih sulit lalu diciptakan dari kriptografi sederhana ini. Kesederhanaan ini menyediakan sifat yang penting, yang digunakan untuk mengembangkan alat yang lebih kompleks yang disebut kriptosistem atau protokol kriptografi, yang menjamin sifat keamanan level satu atau lebih tinggi. Bagaimanapun, perbedaan antara kriptografi sederhana dan kriptosistem, cukup tipis; sebagai contoh, algoritme RSA kadang disebut kriptosistem, dan kadang sederhana. Contoh tipikal kriptografi sederhana termasuk fungsi pseudorandom, fungsi satu-arah, dll.

Kriptosistem Sunting
Satu atau lebih kriptografi sederhana sering digunakan untuk mengembangkan algoritme yang lebih kompleks, disebut sistem kriptografi, atau kriptosistem. Kriptosistem (seperti enkripsi ElGamal didesan untuk menyediakan fungsi tertentu (seperti enkripsi kunci publik) sembari menjamin sifat keamanan tertentu keamanan (seperti serangan teks-terpilih) seperti pada model oracle acak. Kriptosistem menggunakan sifat kriptografi sederhana utama untuk mendukung sifat keamanan sistem. Tentu saja, karena perbedaan antara kriptosistem dan kriptografi tidak jelas, kriptosistem yang canggih dapat diperoleh dari kombinasi beberapa kriptosistem sederhana. Pada banyak kasus, struktur kriptosistem melibatkan komunikasi maju mundur di antara dua atau lebih kelompok dalam ruangan. (seperti di antara pengirim dari pesan aman dan penerimanya) atau melewati waktu (seperti data yang dilindungi dengan kriptografi). Kriptosistem yang seperti itu disebut protokol kriptografi.

Beberapa kriptosistem yang terkenal termasuk enkripsi RSA, tanda tangan Schnorr, enkripsi El-Gamal, PGP, dll. Kriptosistem yang lebih rumit melibatkan sistem uang elektronik[36], sistem tanda-tangan enkripsi, dll. Beberapa kriptosistem teoritikal termasuk sistem pembuktian interaktif,[37] seperti pembuktian pengetahuan-nol),[38] sistem untuk pembagian rahasia,[39][40], dll.

Hingga saat ini, banyak sifat keamanan kriptosistem didemonstrasikan menggunakan teknik empirial atau menggunakan alasan ad hoc. Saat ini, terdapat upaya untuk mengembangkan teknik formal untuk menyelesaikan keamanan kriptosistem; Hal ini secara umum disebut keamanan terbukti. Ide umum dari keamanan terbukti ialah untuk memberikan argumen tentang kesulitan komputasional yang dibutuhkan untuk membahayakan aspek keamanan kriptosistem (dari setiap musuh).

Ilmu yang melihat seberapa baik implementasi dan integrasi kriptografi dalam penerapannya pada perangkat lunak disebut bidang tenik kriptografi dan teknik keamanan.

Larangan Sunting
Kriptografi telah lama menjadi perhatian untuk mengumpulkan intelejen dan lembaga penegak hukum. Komunikasi rahasia dapat menjadi kriminal atau bahkan penghianatan. Karena fasilitasinya privasi, dan menurunkan sistem privasinya, kriptografi juga dianggap menarik untuk pendukung hak sipil. Oleh karena itu, terdapat sejarah dari masalah legal yang kontroversial mengenai kriptografi, khususnya sejak kehadiran komputer murah yang memungkinkan akses kriptografi kualitas tinggi.

Pada beberapa negara, bahkan penggunaan kriptografi secara domestik ialah, atau telah, dilarang. Hingga tahun 1999, Perancis telah menlarang penggunaan kriptografi secara domestik, walaupun banyak aturan yang kini telah dilonggarkan. Di Tiongkok, dan Iran, lisensi masih dibutuhkan untuk menggunakan kriptografi.[41] Banyak negara telah melarang ketat penggunaan kriptografi. Di antaranya Belarusia, Kazakhstan, Mongolia, Pakistan, Singapura, Tunisia, dan Vietnam.[42]

Di Amerika, kriptografi legal digunakan pada kalangan domestik, namun terdapat banyak konflik mengenai masalah legal atau tidaknya kegunaan kriptografi. Satu masalah khas yang penting mengani ekspor kriptografi dan kriptografi perangkat lunak dan perangkat keras. Mungkin karena pentingnya kriptanalisis di Perang Dunia II dan ekspektasi bahwa kriptografi akan terus menjadi penting untuk keamanan nasional, banyak pemerintah Barat memiliki, pada satu titik, mengatur kriptografi secara ketat. Setelah Perang Dunia II, ialah ilegal di Amerika untuk menjual atau mendistribusikan teknologi enkripsi ke luar negeri; faktanya, enkripsi ditunjuk sebagai alat militer tambahan dan didaftarkan pada Daftar Perlengkapan Militer Amerika Serikat.[43] Hingga pengembangan komputer personal, algoritme kunci asimetris (seperti teknik kunci publik), dan Internet, bukan terlalu menjadi masalah. Bagaimanapun, semakin Internet dan komputer menjadi tersedia dengan luas, semakin teknik enkripsi kualitas tinggi dikenal luas di seluruh dunia.

Pembatasan ekspor Sunting
Pada tahun 1990an, terdapat beberapa tantangan pada regulasi ekspor kriptografi. Setelah kode sumber program Pretty Good Privacy (PGP) milik Philip Zimmermann ditemukan dan digunakan Internet pada Juni 1991, terdapat komplain oleh RSA Security (yang kini dinamakan RSA Data Security, Inc.) menyebabkan investigasi kriminal yang panjang US Costum Service dan FBI, walaupun tidak ada tuntutan yang diberikan kepada Zimmermann.[44][45] Daniel J. Bernstein, mahasiswa lulusan UC Berkeley, menuntut pemerintah Amerika mengenai beberapa aspek larangan berdasarkan undang-undang dasar negara Amerika. Pada tahun 1995 kasus Bernstein vs Amerika berakhir dengan keputusan pada tahun 1999 mengenai kode sumber cetak untuk algoritme dan sistem kriptografi dilindungi sebagai kebebasan berbicara (atau free speech) oleh Konstitusi Amerika Serikat.[46]

Pada tahun 1996, tiga puluh sembilan negara menandatangani Perjanjian Wassenaar, perjanjian pengawasan senjata yang mengatur ekspor senjata dan teknologi "kegunaan-ganda" seperti kriptografi. Perjanjian ini menetapkan bahwa penggunaan kriptografi dengan panjang-kunci pendek (56-bit untuk enkripsi simetris, 512-bit untuk RSA) tidak akan diatur ekspornya.[47] Kriptografi yang diekspor dari Amerika menjadi kurang diatur diakibatkan perenggangan aturan pada tahun 2000;[48] Tidak ada banyak larangan lagi pada besar kunci di perangkat lunak yang dijual bebas di Amerika. Sejak perenggangan dari larangan ekspor Amerika ini, dan karena komputer personal terhubung dengan Internet termasuk browser web Amerika seperti Firefox atau Internet Explorer, hampir setiap pengguna Internet di dunia memiliki akses pada kriptografi yang berkualitas via browser mereka (seperti, via Transport Layer Security. Program klien email Mozilla Thunderbird dan Microsoft Outlook dapat mentransmit dan menerima email melalui TLS, dan dapat mengirim dan menerima email terenkripsi dengan S/MIME. Banyak pengguna Internet tidak menyadari bahwa perangkat lunak aplikasi dasar mereka mengandung banyak kriptosistem yang sangat luas. Browser dan program email ini terdapat di mana-mana hingga pemerintah yang tugasnya mengatur penggunaan kriptografi secara umum pada dunia sipil tidak dapat menemukan cari yang praktis untuk mengatur distribusi atau penggunaan kriptografi pada kualitas ini, bahkan hukum yang dibuat saat ini oleh pemerintah hampir mustahil dapat dilaksanakan secara efektif.

Keterlibatan NSA Sunting
Masalah lain yang sering diperdebatkan mengenai kriptografi di Amerika Serikat ialah pengaruh National Security Agency pada pengembangan dan aturan cipher. NSA terlibat dengan desain Data Encryption Standard selama pengembangannya di IBM dan dipertimbangkan oleh National Bureau Standard sebagai Biro untuk kriptografi.[49] DES didesain untuk tahan terhadap kriptanalisis diferensial,[50] Teknik kriptanalitik umum dan kuat diketahui oleh NSA dan IBM, yang menjadi diketahui publik hanya ketika hal ini ditemukan kembali pada akhir tahun 1980an.[51] Menurut Steven Levy, IBM menemukan kriptanalisis differensial,[45] namun NSA meminta teknik ini tetap terjaga rahasia. Teknik ini menjadi diketahui publik ketika Biham dan Shamir menemukan kembali dan mengumumkannya beberapa tahun kemudian. Keseluruhan keadaan ini mengilustrasikan kesulitan menentukan sumber daya dan pengetahuan apa saja yang penyerang mungkin miliki.

Contoh lain keterlibatan NSA ialah pada masalah chip Clipper pada tahun 1993, mikrochip enkripsi yang bertujuan menjadi bagian dari inisiatif pengawasan-kriptografi Capstone. Clipper dikritik secara luas oleh kriptografer untuk dua alsan. algoritme cipher (yang dinamakan Skipjack) yang dirahasiakan (dibongkar pada tahun 1998, jauh setelah Clipper pertama kali ditemukan). Cipher yang dirahasiakan menyebabkan keprihatinan bahwa NSA secara sengaja membuat cipher lemah untuk membantu usaha intelejennya. Keseluruhan inisiatif ini juga dikritik karena melanggar Prinsip Kerckhoff, karena skema yang termasuk pada escrow key diatur oleh pemerintah untuk digunakan menegakkan hukum, sebagai contoh metode penyadapan.[45]

Manajemen hak digital Sunting
Kriptografi merupakan pusat bagi manajemen hak digital (DRM), sebuah kelompok teknik teknologi mengatur penggunaan hak cipta, yang secara luas diimplementasikan dan disebar atas perintah beberapa hak cipta. Pada tahun 1998, Presiden Amerika Bill Clinton menanda-tangani (DMCA) Digital Millennium Copyright Act, yang mengkriminalisasikan segala produksi, penyebaran, dan penggunaan teknik dan teknologi kriptanalitik tertentu (telah ditemukan atau akan ditemukan); termasuk secara spesifik, segala ha lyang dapat digunakan untuk mengelabui skema teknologi DRM.[52] Hal ini memiliki dampak yang nyata pada komunitas riset kriptografi sejak penjanjian ini dibuat di mana selaga riset kriptanalisis melanggar, atau dapat melanggar, DMCA. Undang-undang yang sama telah diberlakukan pada beberapa negara dan wilayah, termasuk implementasi Hak Cipta Direktif. Larangan yang sama juga tercantum pada perjanjian yang ditanda-tangani oleh anggota Organisasi Hak atas Kekayaan Intelektual Dunia.

Departemen Hukum dan Ham serta FBI Amerika belum menegakkan DMCA seperti yang ditakutkan oleh banyak pihak, namun hukumnya, bagaimanapun juga, tetap menjadi kontroversial. Niels Ferguson, peneliti kriptografi yang sangat dihormati, telah mengatakan bahwa dia tidak akan memberikan beberapa risetnya kepada desain kemananan Intel karena ketakutannya dituntut di bawah hukum DMCA.[53] Baik Alan Cox (pengembang kernel Linux kedua) dan Edward Felten (serta beberapa muridnya di Princeton) telah menghadapi banyak masalah terkait undang-undang ini. Dmitry Sklyarov ditangkap selama kunjungannya ke Amerika dari Rusia, dan dihukum selama lima bulan masa percobaan karena dugaan pelanggaran dengan DMCA atas pekerjaan yang telah Ia lakukan di Rusia, di mana hal itu legal di sana. Pada tahun 2007, kunci kriptografi yang bertanggung jawab atas konten Blu-ray dan HD DVD tersebar luas di Internet. Atas kasus itu, MPAA mengirim banyak sekali peringatan penangkapan berdasarkan DMCA, sehingga serangan balasan dari Internet yang dipicu dari dampak yang dirasakan perihal kebebasan berbicara dan Penggunaan wajar.

Pembukaan paksa kunci enkripsi Sunting
Di Inggris, undang-undang Inggris memberikan izin kepada polisi untuk memaksa pelaku mengungkapkan berkas dekripsi atau memberikan password yang melindungi kunci enkripsi. Tidak memberikan kunci merupakan pelanggaran hukum, dan dikenakan hukuman dua hingga lima tahun penjara jika melibatkan keamanan nasional.[54] Penuntutan yang berhasil terlah terjadi di bawah undang-undang ini; pertama, di tahun 2009,[55] menghasilkan 13 bulan penjara.[56] Hukum pemaksaan yang sejenis juga terdapat di Australia, Finlandia, Perancis, dan India memaksa terdakwa untuk memberikan kunci enkripsi atau password selama investigasi kriminal.

Di Amerika Serikat, kasus kriminal Amerika vs Fricosu menunjukkan jika surat perintah dapat memaksa seseorang untuk mengungkapkan kunci enkripsi atau password.[57] Elektronik Frontier Foundation (EFF) memperdebatkan masalah ini atas pelanggaran perlindungan hak asasi manusia berdasarkan Undang-Undang Dasar.[58] Pada tahun 2002, pengadilan membuat undang-undang, bahwa terdakwa harus membawa perangkat keras yang tak terenkripsi ke persidangan.[59]

Dalam banyak yuridikasi, status legal pemaksaan seperti ini masih belum jelas.

Sistem Pendukung Keputusan (SPK)

Sistem Pendukung Keputusan (SPK)



Pengertian Sistem Pendukung Keputusan
Sistem Pendukung Keputusan (SPK)
Ilustrasi Pendukung Keputusan
Sistem Pendukung Keputusan (SPK) atau Decision Support System (DSS) adalah sebuah sistem yang mampu memberikan kemampuan pemecahan masalah maupun kemampuan pengkomunikasian untuk masalah dengan kondisi semi terstruktur dan tak terstruktur. Sistem ini digunakan untuk membantu pengambilan keputusan dalam situasi semi terstruktur dan situasi yang tidak terstruktur, dimana tak seorangpun tahu secara pasti bagaimana keputusan seharusnya dibuat (Turban, 2001).

SPK bertujuan untuk menyediakan informasi, membimbing, memberikan prediksi serta mengarahkan kepada pengguna informasi agar dapat melakukan pengambilan keputusan dengan lebih baik.

SPK merupakan implementasi teori-teori pengambilan keputusan yang telah diperkenalkan oleh ilmu-ilmu seperti operation research dan menegement science, hanya bedanya adalah bahwa jika dahulu untuk mencari penyelesaian masalah yang dihadapi harus dilakukan perhitungan iterasi secara manual (biasanya untuk mencari nilai minimum, maksimum, atau optimum), saat ini computer PC telah menawarkan kemampuannya untuk menyelesaikan persoalan yang sama dalam waktu relatif singkat.

Sprague dan Watson mendefinisikan Sistem Pendukung Keputusan (SPK) sebagai sistem yang memiliki lima karakteristik utama yaitu (Sprague et.al, 1993):
Sistem yang berbasis komputer.
Dipergunakan untuk membantu para pengambil keputusan
Untuk memecahkan masalah-masalah rumit yang mustahil dilakukan dengan kalkulasi manual
Melalui cara simulasi yang interaktif
Dimana data dan model analisis sebaai komponen utama.
Komponen Sistem Pendukung Keputusan
Secara umum Sistem Pendukung Keputusan dibangun oleh tiga komponen besar yaitu database Management, Model Base dan Software System/User Interface. Komponen SPK tersebut dapat digambarkan seperti gambar di bawah ini.

Komponen Sistem Pendukung Keputusan (SPK) :
a. Database Management

Merupakan subsistem data yang terorganisasi dalam suatu basis data. Data yang merupakan suatu sistem pendukung keputusan dapat berasal dari luar maupun dalam lingkungan. Untuk keperluan SPK, diperlukan data yang relevan dengan permasalahan yang hendak dipecahkan melalui simulasi.

b. Model Base

Merupakan suatu model yang merepresentasikan permasalahan kedalam format kuantitatif (model matematika sebagai contohnya) sebagai dasar simulasi atau pengambilan keputusan, termasuk didalamnya tujuan dari permaslahan (objektif), komponen-komponen terkait, batasan-batasan yang ada (constraints), dan hal-hal terkait lainnya. Model Base memungkinkan pengambil keputusan menganalisa secara utuh dengan mengembangkan dan membandingkan solusi alternatif.

c. User Interfase / Pengelolaan Dialog

Terkadang disebut sebagai subsistem dialog, merupakan penggabungan antara dua komponen sebelumnya yaitu Database Management dan Model Base yang disatukan dalam komponen ketiga (user interface), setelah sebelumnya dipresentasikan dalam bentuk model yang dimengerti computer. User Interface menampilkan keluaran sistem bagi pemakai dan menerima masukan dari pemakai kedalam Sistem Pendukung Keputusan.
Manfaat Sistem Pendukung Keputusan
SPK dapat memberikan berbagai manfaat dan keuntungan. Manfaat yang dapat diambil dari SPK adalah :
SPK memperluas kemampuan pengambil keputusan dalam memproses data / informasi bagi pemakainya.
SPK membantu pengambil keputusan untuk memecahkan masalah terutama barbagai masalah yang sangat kompleks dan tidak terstruktur.
SPK dapat menghasilkan solusi dengan lebih cepat serta hasilnya dapat diandalkan.
Walaupun suatu SPK mungkin saja tidak mampu memecahkan masalah yang dihadapi oleh pengambil keputusan, namun dia dapat menjadi stimulan bagi pengambil keputusan dalam memahami persoalannya,karena mampu menyajikan berbagai alternatif pemecahan.

Daftar Pustaka
Sparague, R. H. and Watson H. J. 1993. Decision Support Systems: Putting Theory Into Practice. Englewood Clifts, N. J., Prentice Hall.
Turban , Efraim & Aronson, Jay E. 2001. Decision Support Systems and Intelligent Systems. 6th edition. Prentice Hall: Upper Saddle River, NJ.
http://www.kajianpustaka.com/2013/09/sistem-pendukung-keputusan-spk.html

Keamanan Jaringan

Keamanan jaringan

Keamanan jaringan (Bahasa Inggris: Network Security) dalam jaringan komputer sangat penting dilakukan untuk memonitor akses jaringan dan mencegah penyalahgunaan sumber daya jaringan yang tidak sah. Tugas keamanan jaringan dikontrol oleh administrator jaringan.

Segi-segi keamanan didefinisikan dari kelima point ini:

a. Confidentiality Mensyaratkan bahwa informasi (data) hanya bisa diakses oleh pihak yang memiliki wewenang.
b. Integrity Mensyaratkan bahwa informasi hanya dapat diubah oleh pihak yang memiliki wewenang.
c. Availability Mensyaratkan bahwa informasi tersedia untuk pihak yang memiliki wewenang ketika dibutuhkan.
d. Authentication Mensyaratkan bahwa pengirim suatu informasi dapat diidentifikasi dengan benar dan ada jaminan bahwa identitas yang didapat tidak palsu.
e. Nonrepudiation Mensyaratkan bahwa baik pengirim maupun penerima informasi tidak dapat menyangkal pengiriman dan penerimaan pesan.

Serangan (gangguan) terhadap keamanan dapat dikategorikan dalam empat kategori utama :

a. Interruption Suatu aset dari suatu sistem diserang sehingga menjadi tidak tersedia atau tidak dapat dipakai oleh yang berwenang. Contohnya adalah perusakan/modifikasi terhadap piranti keras atau saluran jaringan.
b. Interception Suatu pihak yang tidak berwenang mendapatkan akses pada suatu aset. Pihak yang dimaksud bisa berupa orang, program, atau sistem yang lain. Contohnya adalah penyadapan terhadap data dalam suatu jaringan.
c. Modification Suatu pihak yang tidak berwenang dapat melakukan perubahan terhadap suatu aset. Contohnya adalah perubahan nilai pada file data, modifikasi program sehingga berjalan dengan tidak semestinya, dan modifikasi pesan yang sedang ditransmisikan dalam jaringan.
d. Fabrication Suatu pihak yang tidak berwenang menyisipkan objek palsu ke dalam sistem. Contohnya adalah pengiriman pesan palsu kepada orang lain.

Ada beberapa prinsip yang perlu dihindari dalam menangani masalah keamanan :  diam dan semua akan baik-baik saja  sembunyi dan mereka tidak akan dapat menemukan anda  teknologi yang digunakan kompleks/rumit, artinya aman.

Dan apa itu administrator jaringan? tugasnya apa saja?

Administrator Jaringan Komputer adalah sebuah jenis pekerjaan yang banyak dibutuhkan saat ini terutama pada perusahaan/instansi yang telah mengimplementasikan teknologi komputer dan internet untuk menunjang pekerjaan.

Penggunaaan sistem jaringan komputer dalam sekala kecil maupun luas akan membutuhkan pengaturan-pengaturan mulai dari tingkat fisik maupun non fisik. Pengaturan-pengaturan tersebut melibatkan proses pengontrolan. Ada beberapa definisi mengenai administrasi jaringan ini antara lain :

controlling corporate strategic (assets)
controlling complekxity
improving service
balancing various needs
reducing downtime
controlling costs

Pada intinya administrator network bertugas mengelola serta menjaga seluruh sumber daya pada sistem jaringan agar kinerja jaringan lebih efektif dan efisien dilihat dari fungsi, struktur dan keamanan jaringan itu sendiri.

Sebelum berbicara tugas dan tanggung jawab berikut beberapa hal umum yang harus di kuasai seorang network administrator ;

Pengetahuan dasar tentang komputer teori maupun praktik, hal ini sangat penting karena tidak mungkin
menjadi seorang administrator jaringan komputer namun bagaimana kerja sistem komputer sendiri tidak dikuasai dengan baik.

Pengetahuan tentang berbagai perangkat keras jaringan komputer seperti ; repeater, hub, switch, router,
antena, kabel dan berbagai perangkat pendukung lainnya, pemahaman meliputi cara kerja, pemasangan dan konfigurasi.

Pemahaman tentang routing
Pemahaman tentang routing teori maupun konfigurasi harus di kuasai dengan baik agar mampu membangun jaringan dengan baik hal ini sangat diperlukan terutama jika komputer ataupun sub organisasi perusahaan sangat banyak.

Pengetahuan tentang sistem keamanan komputer terutama jaringannya ( network security ) akan sangat membantu dan memberikan nilai lebih.
Selain kemampuan teori maupun praktik yang harus dikuasai dengan baik hal lain adalah memiliki etika profesional, tanpa etika dan sikap seorang profesional yang baik maka semua kemampuan teori maupun praktik yang dikuasai tidak akan berarti banyak.
Fungsi dan Tugas Network Administrator

Ada beberapa fungsi dan kerja administrator, namun secara garis besar dapat dinyatakan dari irisan antara network, hardware, dan application. Tugas dari  administrator jaringan adalah:

Security management: menitik beratkan kerja mencakup masalah network administrator keamanan mencakup hal-hal berikut:

Firewall adalah sistem atau perangkat yang mengizinkan lalu lintas jaringan yang dianggap aman untuk
melaluinya dan mencegah lalulintas jaringan yang dianggap aman untuk melaluinya dan mencegah lalulintas yang dianggap tidak aman.

Username: username akan digunakan sebagai informasi log in password control: yaitu pengendalian pasword
yang dimiliki oleh sebuah sistem.

Resource access: network admin mampu melakukan pembatasan penggunaan sumber daya sesuai dengan hak akses yang diberikan.


  dipakai oleh yang berwenang. Contohnya adalah perusakan/modifikasi terhadap piranti keras atau saluran jaringan.

b. Interception Suatu pihak yang tidak berwenang mendapatkan akses pada suatu aset. Pihak yang dimaksud bisa berupa orang, program, atau sistem yang lain. Contohnya adalah penyadapan terhadap data dalam suatu jaringan.

c. Modification Suatu pihak yang tidak berwenang dapat melakukan perubahan terhadap suatu aset. Contohnya adalah perubahan nilai pada file data, modifikasi program sehingga berjalan dengan tidak semestinya, dan modifikasi pesan yang sedang ditransmisikan dalam jaringan.

d. Fabrication Suatu pihak yang tidak berwenang menyisipkan objek palsu ke dalam sistem. Contohnya adalah pengiriman pesan palsu kepada orang lain.

Ada beberapa prinsip yang perlu dihindari dalam menangani masalah keamanan :  diam dan semua akan baik-baik saja  sembunyi dan mereka tidak akan dapat menemukan anda  teknologi yang digunakan kompleks/rumit, artinya aman.

Dan apa itu administrator jaringan? tugasnya apa saja?

Administrator Jaringan Komputer adalah sebuah jenis pekerjaan yang banyak dibutuhkan saat ini terutama pada perusahaan/instansi yang telah mengimplementasikan teknologi komputer dan internet untuk menunjang pekerjaan.

Penggunaaan sistem jaringan komputer dalam sekala kecil maupun luas akan membutuhkan pengaturan-pengaturan mulai dari tingkat fisik maupun non fisik. Pengaturan-pengaturan tersebut melibatkan proses pengontrolan. Ada beberapa definisi mengenai administrasi jaringan ini antara lain :

controlling corporate strategic (assets)
controlling complekxity
improving service
balancing various needs
reducing downtime
controlling costs
Pada intinya administrator network bertugas mengelola serta menjaga seluruh sumber daya pada sistem jaringan agar kinerja jaringan lebih efektif dan efisien dilihat dari fungsi, struktur dan keamanan jaringan itu sendiri.

Sebelum berbicara tugas dan tanggung jawab berikut beberapa hal umum yang harus di kuasai seorang network administrator ;

Pengetahuan dasar tentang komputer teori maupun praktik, hal ini sangat penting karena tidak mungkin
menjadi seorang administrator jaringan komputer namun bagaimana kerja sistem komputer sendiri tidak dikuasai dengan baik.

Pengetahuan tentang berbagai perangkat keras jaringan komputer seperti ; repeater, hub, switch, router,
antena, kabel dan berbagai perangkat pendukung lainnya, pemahaman meliputi cara kerja, pemasangan dan konfigurasi.

Pemahaman tentang routing
Pemahaman tentang routing teori maupun konfigurasi harus di kuasai dengan baik agar mampu membangun jaringan dengan baik hal ini sangat diperlukan terutama jika komputer ataupun sub organisasi perusahaan sangat banyak.

Pengetahuan tentang sistem keamanan komputer terutama jaringannya ( network security ) akan sangat membantu dan memberikan nilai lebih.
Selain kemampuan teori maupun praktik yang harus dikuasai dengan baik hal lain adalah memiliki etika profesional, tanpa etika dan sikap seorang profesional yang baik maka semua kemampuan teori maupun praktik yang dikuasai tidak akan berarti banyak.
Fungsi dan Tugas Network Administrator

Ada beberapa fungsi dan kerja administrator, namun secara garis besar dapat dinyatakan dari irisan antara network, hardware, dan application. Tugas dari  administrator jaringan adalah:

Security management: menitik beratkan kerja mencakup masalah network administrator keamanan mencakup hal-hal berikut:

Firewall adalah sistem atau perangkat yang mengizinkan lalu lintas jaringan yang dianggap aman untuk
melaluinya dan mencegah lalulintas jaringan yang dianggap aman untuk melaluinya dan mencegah lalulintas yang dianggap tidak aman.

Username: username akan digunakan sebagai informasi log in password control: yaitu pengendalian pasword
yang dimiliki oleh sebuah sistem.

Resource access: network admin mampu melakukan pembatasan penggunaan sumber daya sesuai dengan hak akses yang

Jenis – jenis seragan atau gagguan dalam jaringan :
a.      DOS / DDOS, Denial of Services dan Distributed Denial of Services adalah sebuah metode serangan yangbertujuan untuk menghabiskan sumber daya sebuah peralatan jaringan komputer sehingga layanan jaringan komputer menjadi terganggu.
b.      Paket Sniffing, sebuah metode serangan dengan cara mendengarkan seluruh paket yang lewat pada sebuah media komunikasi, baik itu media kabel maupun radio. Setelah paket-paket yang lewat itu didapatkan, paket-paket tersebut kemudian disusun ulang sehingga data yang dikirimkan oleh sebuah pihak dapat dicuri oleh pihak yang tidak berwenang.
c.       IP Spoofing, sebuah model serangan yang bertujuan untuk menipu seseorang. Serangan ini dilakukan dengan cara mengubah alamat asal sebuah paket, sehingga dapat melewati perlindungan firewall dan menipu host penerima data.
d.      DNS Forgery, Salah satu cara yang dapat dilakukan oleh seseorang untuk mencuri data-data penting orang lain adalah dengan cara melakukan penipuan. Salah satu bentuk penipuan yang bisa dilakukan adalah penipuan data-data DNS.
e.       Trojan Horse, program yang disisipkn tanpa pengetahuan si pemilik komputer, dapat dikendalikan dari jarak jauh & memakai timer
f.        Probe : Usaha yang tak lazim untuk memperoleh akses ke dalam suatu sistem/ untuk menemukan informasi tentang sistem tersebut. Dapat dianalogikan sebagai usaha untuk memasuki sebuah ruangan dengan mencoba-coba apakah pintunya terkunci atau tidak
g.      Scan : kegiatan probe dalam jumlah besar dengan menggunakan tool secara otomatis. Tool tersebut secara otomatis dapat mengetahui port-port yang terbuka pada host lokal/host remote, IP address yang aktif bahkan bisa untuk mengetahui sistem operasi yang digunakan pada host yang dituju
h.      Account Compromise : penggunaan account sebuah komputer secara ilegal oleh seseorang yang bukan pemilik account tersebut. Account Compromise dapat mengakibatkan korban mengalami kehilangan atau kerusakan data.
i.        Root Compromise : mirip dengan account compromise, dengan perbedaan account yang digunakan secara ilegal adalah account yang mempunyai privelege sebagai administrator sistem. Akibat yang ditimbulkan bisa mengubah kinerja sistem, menjalankan program yang tidak sah

&& Perbedaan hacker dengan cracker
a.       Hacker
Hacker adalah sebutan untuk mereka yang memberikan sumbangan yang bermanfaat kepada jaringan komputer, membuat program kecil dan membagikannya dengan orang-orang di Internet. Sebagai contoh : digigumi (Grup Digital) adalah sebuah kelompok yang mengkhususkan diri bergerak dalam bidang game dan komputer. Digigumi ini menggunakan teknik teknik hexadecimal untuk mengubah teks yang terdapat di dalam game. Contohnya, game Chrono Trigger berbahasa Inggris dapat diubah menjadi bahasa Indonesia. Oleh karena itu, status Digigumi adalah hacker, namun bukan sebagai perusak. Hacker disini artinya, mencari, mempelajari dan mengubah sesuatu untuk keperluan hobi dan pengembangan dengan mengikuti legalitas yang telah ditentukan oleh developer game. Para hacker biasanya melakukan penyusupan-penyusupan dengan maksud memuaskan pengetahuan dan teknik. Rata - rata perusahaan yang bergerak di dunia jaringan global (internet) juga memiliki hacker. Tugasnya yaitu untuk menjaga jaringan dari kemungkinan perusakan pihak luar "cracker", menguji jaringan dari kemungkinan lobang yang menjadi peluang para cracker mengobrak - abrik jaringannya, sebagai contoh : perusahaan asuransi dan auditing "Price Waterhouse". Ia memiliki team hacker yang disebut dengan Tiger Team. Mereka bekerja untuk menguji sistem sekuriti client mereka.

b.      Cracker
Cracker adalah sebutan untuk mereka yang masuk ke sistem orang lain dan cracker lebih bersifat destruktif, biasanya di jaringan komputer, mem-bypass password atau lisensi program komputer, secara sengaja melawan keamanan komputer, men-deface (merubah halaman muka web) milik orang lain bahkan hingga men-delete data orang lain, mencuri data dan umumnya melakukan cracking untuk keuntungan sendiri, maksud jahat, atau karena sebab lainnya karena ada tantangan. Beberapa proses pembobolan dilakukan untuk menunjukan kelemahan keamanan sistem.
*Wikipedia
*armitakusuma1365.blogspot.co.id/2012/10/kumpulan-materi-keamanan-jaringan.html

GIS

Sistem informasi geografis

Merupakan Kajian dari Penginderaan Jauh dan Geografis. Sistem Informasi Geografis (bahasa Inggris: Geographic Information System disingkat GIS) adalah sistem informasi khusus yang mengelola data yang memiliki informasi spasial (bereferensi keruangan). Atau dalam arti yang lebih sempit, adalah sistem komputer yang memiliki kemampuan untuk membangun, menyimpan, mengelola dan menampilkan informasi berefrensi geografis, misalnya data yang diidentifikasi menurut lokasinya, dalam sebuah database. Para praktisi juga memasukkan orang yang membangun dan mengoperasikannya dan data sebagai bagian dari sistem ini.

Teknologi Sistem Informasi Geografis dapat digunakan untuk investigasi ilmiah, pengelolaan sumber daya, perencanaan pembangunan, kartografi dan perencanaan rute. Misalnya, SIG bisa membantu perencana untuk secara cepat menghitung waktu tanggap darurat saat terjadi bencana alam, atau SIG dapat digunaan untuk mencari lahan basah (wetlands) yang membutuhkan perlindungan dari polusi.

Pengertian menurut para ahli Sunting

Menurut Aronaff (1989)
SIG adalah sistem informasi yang didasarkan pada kerja komputer yang memasukkan, mengelola, memanipulasi dan menganalisa data serta memberi uraian.

Menurut Burrough (1986)
SIG merupakan alat yang bermanfaat untuk pengumpulan, penimbunan, pengambilan kembali data yang diinginkan dan penayangan data keruangan yang berasal dari kenyataan dunia.

Menurut Kang-Tsung Chang (2002)
SIG sebagai a computer system for capturing, storing, querying, analyzing, and displaying geographic data.

Menurut Murai (1999)
SIG sebagai sistem informasi yang digunakan untuk memasukkan, menyimpan, memanggil kembali, mengolah, menganalisis dan menghasilkan data bereferensi geografis atau data geospatial, untuk mendukung pengambilan keputusan dalam perencanaan dan pengelolaan penggunaan lahan, sumber daya alam, lingkungan, transportasi, fasilitas kota, dan pelayanan umum lainnya.

Menurut Marble et al (1983)
SIG merupakan sistem penanganan data keruangan.

Menurut Bernhardsen (2002)
SIG sebagai sistem komputer yang digunakan untuk memanipulasi data geografi. Sistem ini diimplementasikan dengan perangkat keras dan perangkat lunak komputer yang berfungsi untuk akusisi dan verifikasi data, kompilasi data, penyimpanan data, perubahan dan pembaharuan data, manajemen dan pertukaran data, manipulasi data, pemanggilan dan presentasi data serta analisa data

Menurut Gistut (1994)
SIG adalah sistem yang dapat mendukung pengambilan keputusan spasial dan mampu mengintegrasikan deskripsi-deskripsi lokasi dengan karakteristik-karakteristik fenomena yang ditemukan di lokasi tersebut. SIG yang lengkap mencakup metodologi dan teknologi yang diperlukan, yaitu data spasial perangkat keras, perangkat lunak dan struktur organisasi

Menurut Berry (1988)
SIG merupakan sistem informasi, referensi internal, serta otomatisasi data keruangan.

Menurut Calkin dan Tomlison (1984)
SIG merupakan sistem komputerisasi data yang penting.

Menurut Linden, (1987)
SIG adalah sistem untuk pengelolaan, penyimpanan, pemrosesan (manipulasi), analisis dan penayangan data secara spasial terkait dengan muka bumi.

Menurut Alter
SIG adalah sistem informasi yang mendukung pengorganisasian data, sehingga dapat diakses dengan menunjuk daerah pada sebuah peta.

Menurut Prahasta
SIG merupakan sejenis software yang dapat digunakan untuk pemasukan, penyimpanan, manipulasi, menampilkan, dan keluaran informasi geografis berikut atribut-atributnya.

Menurut Petrus Paryono
SIG adalah sistem berbasis komputer yang digunakan untuk menyimpan, manipulasi dan menganalisis informasi geografi.

Dari definisi-definisi di atas dapat disimpulkan bahwa SIG merupakan pengelolaan data geografis yang didasarkan pada kerja komputer (mesin).


Sejarah perkembangan

35000 tahun yang lalu, di dinding gua Lascaux, Perancis, para pemburu Cro-Magnon menggambar hewan mangsa mereka, dan juga garis yang dipercaya sebagai rute migrasi hewan-hewan tersebut. Catatan awal ini sejalan dengan dua elemen struktur pada sistem informasi gegrafis modern sekarang ini, arsip grafis yang terhubung ke database atribut.

Pada tahun 1700-an teknik survey modern untuk pemetaan topografis diterapkan, termasuk juga versi awal pemetaan tematis, misalnya untuk keilmuan atau data sensus.

Awal abad ke-20 memperlihatkan pengembangan "litografi foto" dimana peta dipisahkan menjadi beberapa lapisan (layer). Perkembangan perangkat keras komputer yang dipacu oleh penelitian senjata nuklir membawa aplikasi pemetaan menjadi multifungsi pada awal tahun 1960-an.

Tahun 1967 merupakan awal pengembangan SIG yang bisa diterapkan di Ottawa, Ontario oleh Departemen Energi, Pertambangan dan Sumber Daya. Dikembangkan oleh Roger Tomlinson, yang kemudian disebut CGIS (Canadian GIS - SIG Kanada), digunakan untuk menyimpan, menganalisis dan mengolah data yang dikumpulkan untuk Inventarisasi Tanah Kanada (CLI - Canadian land Inventory) - sebuah inisiatif untuk mengetahui kemampuan lahan di wilayah pedesaan Kanada dengan memetakaan berbagai informasi pada tanah, pertanian, pariwisata, alam bebas, unggas dan penggunaan tanah pada skala 1:250000. Faktor pemeringkatan klasifikasi juga diterapkan untuk keperluan analisis.


GIS dengan gvSIG.
CGIS merupakan sistem pertama di dunia dan hasil dari perbaikan aplikasi pemetaan yang memiliki kemampuan timpang susun (overlay), penghitungan, pendijitalan/pemindaian (digitizing/scanning), mendukung sistem koordinat national yang membentang di atas benua Amerika, memasukkan garis sebagai arc yang memiliki topologi dan menyimpan atribut dan informasi lokasional pada berkas terpisah. Pengembangnya, seorang geografer bernama Roger Tomlinson kemudian disebut "Bapak SIG".

CGIS bertahan sampai tahun 1970-an dan memakan waktu lama untuk penyempurnaan setelah pengembangan awal, dan tidak bisa bersaing denga aplikasi pemetaan komersil yang dikeluarkan beberapa vendor seperti Intergraph. Perkembangan perangkat keras mikro komputer memacu vendor lain seperti ESRI, CARIS, MapInfo dan berhasil membuat banyak fitur SIG, menggabung pendekatan generasi pertama pada pemisahan informasi spasial dan atributnya, dengan pendekatan generasi kedua pada organisasi data atribut menjadi struktur database. Perkembangan industri pada tahun 1980-an dan 1990-an memacu lagi pertumbuhan SIG pada workstation UNIX dan komputer pribadi. Pada akhir abad ke-20, pertumbuhan yang cepat di berbagai sistem dikonsolidasikan dan distandarisasikan menjadi platform lebih sedikit, dan para pengguna mulai mengekspor menampilkan data SIG lewat internet, yang membutuhkan standar pada format data dan transfer.

Indonesia sudah mengadopsi sistem ini sejak Pelita ke-2 ketika LIPI mengundang UNESCO dalam menyusun "Kebijakan dan Program Pembangunan Lima Tahun Tahap Kedua (1974-1979)" dalam pembangunan ilmu pengetahuan, teknologi dan riset.

Jenjang pendidikan SMU/senior high school melalui kurikulum pendidikan geografi SIG dan penginderaan jauh telah diperkenalkan sejak dini. Universitas di Indonesia yang membuka program Diploma SIG ini adalah D3 Penginderaan Jauh dan Sistem Informasi Geografi, Fakultas Geografi, Universitas Gadjah Mada, tahun 1999. Sedangkan jenjang S1 dan S2 telah ada sejak 1991 dalam Jurusan Kartografi dan Penginderaan Jauh, Fakultas Geografi, Universitas Gadjah Mada. Penekanan pengajaran pada analisis spasial sebagai ciri geografi. Lulusannya tidak sekadar mengoperasikan software namun mampu menganalisis dan menjawab persoalan keruangan. Sejauh ini SIG sudah dikembangkan hampir di semua universitas di Indonesia melalui laboratorium-laboratorium, kelompok studi/diskusi maupun mata pelajaran.


Komponen Sistem Informasi Geografis

Komponen-komponen pendukung SIG terdiri dari lima komponen yang bekerja secara terintegrasi yaitu perangkat keras (hardware), perangkat lunak (software), data, manusia, dan metode yang dapat diuraikan sebagai berikut:

1. Perangkat Keras (hardware) SIG adalah perangkat-perangkat fisik yang merupakan bagian dari sistem komputer yang mendukung analisis geografi dan pemetaan. Perangkat keras SIG mempunyai kemampuan untuk menyajikan citra dengan resolusi dan kecepatan yang tinggi serta mendukung operasioperasi basis data dengan volume data yang besar secara cepat. Perangkat keras SIG terdiri dari beberapa bagian untuk menginput data, mengolah data, dan mencetak hasil proses. Berikut ini pembagian berdasarkan proses :

Input data: mouse, digitizer, scanner
Olah data: harddisk, processor, RAM, VGA Card
Output data: plotter, printer, screening.
Perangkat Lunak (software) Sunting
Perangkat lunak digunakan untuk melakukan proses menyimpan, menganalisa, memvisualkan data-data baik data spasial maupun non-spasial.

2. Perangkat lunak yang harus terdapat dalam Komponen software SIG adalah:
Alat untuk memasukkan dan memanipulasi data SIG
Data Base Management System (DBMS)
Alat untuk menganalisa data-data
Alat untuk menampilkan data dan hasil analisa

Data
Pada prinsipnya terdapat dua jenis data untuk mendukung SIG yaitu :

Data Spasial
Data spasial adalah gambaran nyata suatu wilayah yang terdapat di permukaan bumi. Umumnya direpresentasikan berupa grafik, peta, gambar dengan format digital dan disimpan dalam bentuk koordinat x,y (vektor) atau dalam bentuk image (raster) yang memiliki nilai tertentu.

Data Non Spasial (Atribut)
Data non spasial adalah data berbentuk tabel dimana tabel tersebut berisi informasi- informasi yang dimiliki oleh obyek dalam data spasial. Data tersebut berbentuk data tabular yang saling terintegrasi dengan data spasial yang ada.

3. Manusia
Manusia merupakan inti elemen dari SIG karena manusia adalah perencana dan pengguna dari SIG. Pengguna SIG mempunyai tingkatan seperti pada sistem informasi lainnya, dari tingkat spesialis teknis yang mendesain dan mengelola sistem, sampai pada pengguna yang menggunakan SIG untuk membantu pekerjaannya sehari-hari.

4. Metode
Metode yang digunakan dalam SIG akan berbeda untuk setiap permasalahan. SIG yang baik tergantung pada aspek desain dan aspek realnya.


Ruang Lingkup Sistem Informasi Geografis (SIG) Sunting

Pada dasarnya pada SIG terdapat lima (5) proses yaitu:
Input Data
Proses input data digunakan untuk menginputkan data spasial dan data non-spasial. Data spasial biasanya berupa peta analog. Untuk SIG harus menggunakan peta digital sehingga peta analog tersebut harus dikonversi ke dalam bentuk peta digital dengan menggunakan alat digitizer. Selain proses digitasi dapat juga dilakukan proses overlay dengan melakukan proses scanning pada peta analog.

Manipulasi Data
Tipe data yang diperlukan oleh suatu bagian SIG mungkin perlu dimanipulasi agar sesuai dengan sistem yang dipergunakan. Oleh karena itu SIG mampu melakukan fungsi edit baik untuk data spasial maupun non-spasial.

Manajemen Data
Setelah data spasial dimasukkan maka proses selanjutnya adalah pengolahan data non-spasial. Pengolaha data non-spasial meliputi penggunaan DBMS untuk menyimpan data yang memiliki ukuran besar.

Query dan Analisis
Query adalah proses analisis yang dilakukan secara tabular. Secara fundamental SIG dapat melakukan dua jenis analisis, yaitu:

Analisis Proximity
Analisis Proximity merupakan analisis geografi yang berbasis pada jarak antar layer. SIG menggunakan proses buffering (membangun lapisan pendukung di sekitar layer dalam jarak tertentu) untuk menentukan dekatnya hubungan antar sifat bagian yang ada.

Analisis Overlay
Overlay merupakan proses penyatuan data dari lapisan layer yang berbeda. Secara sederhana overlay disebut sebagai operasi visual yang membutuhkan lebih dari satu layer untuk digabungkan secara fisik.

Visualisasi
Untuk beberapa tipe operasi geografis, hasil akhir terbaik diwujudkan dalam peta atau grafik. Peta sangatlah efektif untuk menyimpan dan memberikan informasi geografis.


Manfaat SIG di berbagai bidang :

* Manajemen tata guna lahan
Pemanfaatan dan penggunaan lahan merupakan bagian kajian geografi yang perlu dilakukan dengan penuh pertimbangan dari berbagai segi. Tujuannya adalah untuk menentukan zonifikasi lahan yang sesuai dengan karakteristik lahan yang ada. Misalnya, wilayah pemanfaatan lahan di kota biasanya dibagi menjadi daerah pemukiman, industri, perdagangan, perkantoran, fasilitas umum,dan jalur hijau. SIG dapat membantu pembuatan perencanaan masing-masing wilayah tersebut dan hasilnya dapat digunakan sebagai acuan untuk pembangunanutilitas-utilitas yang diperlukan. Lokasi dari utilitas-utilitas yang akan dibangun di daerah perkotaan (urban) perlu dipertimbangkan agar efektif dan tidak melanggar kriteria-kriteria tertentuyang bisa menyebabkan ketidakselarasan. Contohnya, pembangunan tempat sampah. Kriteria-kriteria yang bisa dijadikan parameter antara lain: di luar area pemukiman, berada dalam radius 10 meter dari genangan air, berjarak 5 meter dari jalan raya, dan sebagainya. Dengan kemampuan SIG yang bisa memetakan apa yang ada di luar dan di dalam suatu area, kriteria-kriteriaini nanti digabungkan sehingga memunculkan irisan daerah yang tidak sesuai, agak sesuai, dan sangat sesuai dengan seluruh kriteria. Di daerah pedesaan (rural) manajemen tata guna lahan lebih banyak mengarah ke sektor pertanian. Dengan terpetakannya curah hujan, iklim, kondisitanah, ketinggian, dan keadaan alam, akan membantu penentuan lokasi tanaman, pupuk yang dipakai, dan bagaimana proses pengolahan lahannya. Pembangunan saluran irigasi agar dapat merata dan minimal biayanya dapat dibantu dengan peta sawah ladang, peta pemukiman penduduk, ketinggian masing-masing tempat dan peta kondisi tanah. Penentuan lokasi gudang dan pemasaran hasil pertanian dapat terbantu dengan memanfaatkan peta produksi pangan, penyebarankonsumen, dan peta jaringan transportasi. Selain untuk manajemen pemanfaatan lahan, SIG juga dapat membantu dalam hal penataan ruang. Tujuannya adalah agar penentuan pola pemanfaatan ruang disesuaikan dengan kondisi fisik dan sosial yang ada, sehingga lebih efektif dan efisien. Misalnya penataan ruang perkotaan, pedesaan, permukiman,kawasan industri, dan lainnya.

* Inventarisasi sumber daya alam
Secara sederhana manfaat SIG dalam data kekayaan sumber daya alamialah sebagai berikut:
Untuk mengetahui persebaran berbagai sumber daya alam, misalnya minyak bumi, batubara, emas, besi dan barang tambang lainnya.
Untuk mengetahui persebaran kawasan lahan, misalnya:
Kawasan lahan potensial dan lahan kritis;
Kawasan hutan yang masih baik dan hutan rusak;
Kawasan lahan pertanian dan perkebunan;
Pemanfaatan perubahan penggunaan lahan;
Rehabilitasi dan konservasi lahan.
Untuk pengawasan daerah bencana alam Sunting
Kemampuan SIG untuk pengawasan daerah bencana alam, misalnya:

Memantau luas wilayah bencana alam;
Pencegahan terjadinya bencana alam pada masa datang;
Menyusun rencana-rencana pembangunan kembali daerah bencana;
Penentuan tingkat bahaya erosi;
Prediksi ketinggian banjir;
Prediksi tingkat kekeringan.
Bagi perencanaan Wilayah dan Kota
3. Bidang sumber daya, seperti kesesuaian lahan pemukiman, pertanian, perkebunan, tata guna lahan, pertambangan dan energi, analisis daerah rawan bencana.
4. Bidang perencanaan ruang, seperti perencanaan tata ruang wilayah, perencanaan kawasan industri, pasar, kawasan permukiman, penataan sistem dan status pertahanan.
Untuk bidang manajemen atau sarana-prasarana suatu wilayah, seperti manajemen sistem informasi jaringan air bersih, perencanaan dan perluasan jaringan listrik.
5. Bidang pariwisata, seperti inventarisasi pariwisata dan analisis potensi pariwisata suatu daerah.
6. Bidang transportasi, seperti inventarisasi jaringan transportasi publik, kesesuaian rute alternatif, perencanaan perluasan sistem jaringan jalan, analisis kawasan rawan kemacetan dan kecelakaaan.
7. Bidang sosial dan budaya, seperti untuk mengetahui luas dan persebaran penduduk suatu wilayah, mengetahui luas dan persebaran lahan pertanian serta kemungkinan pola drainasenya, pendataan dan pengembangan pusat-pusat pertumbuhan dan pembangunan pada suatu kawasan, pendataan dan pengembangan pemukiman penduduk, kawasan industri, sekolah, rumah sakit, sarana hiburan dan perkantoran.