Home » » artikel PTI ASCII dan ANSI 2014

artikel PTI ASCII dan ANSI 2014

pada kesempatan kali ini saya ingin memposting tentang artikel PTI mengenai ASCII dan ANSI yang dibuat oleh saya dan akbar rekan saya. langsung kita lihat artikelnya ^_^



I.            PENYIMPANAN FILE DI KOMPUTER
1.1.   ASCII
ASCII merupakan kependekan dari American Standard Code for Information Interchange. Komputer hanya mengerti angka-angka yang disebut bilangan biner. Sehingga untuk memudahkan manusia “memerintah” mesin digunakan beberapa standard-standar simbol yang disepakati bersama. Salah satu standard yang paling banyak digunakan adalah ASCII. ASCII merupakan representasi simbol-simbol yang kita ketahui seperti ‘@’ atau ‘a’ dsb ke dalam angka-angka yang dimengerti komputer. Simbol-simbol dalam ASCII merupakan simbol yang well-known atau merupakan simbol yang disepakati bersama.
Karakter dalam kode ASCII berjumlah sekitar 256 dengan penomoran dimulai dari 0. Karena sistem bilangan kita menggunakan 0 sebagai digit terkecil untuk bilangan. Maksudnya apabila kita punya sebuah angka yaitu 15 maka ada dua digit dalam bilangan itu yaitu 1 dan 5. 1 merupakan sebuah puluhan dan 5 merupakan sebuah satuan. Sehingga digit yang paling kecil adalah 0, bukan 1. Coba bandingkan antara 0 dan 1 mana yang lebih kecil, pasti nol. Lalu bilangan terbesar dalam sistem bilangan desimal yang kita pakai sehari-hari adalah 9. Karena apabila kita menambahkan 9 dengan 1 maka kita akan mendapatkan bilangan dengan 2 digit yaitu 1 dan 0. Jadi disimpulkan bahwa bilangan tertinggi untuk setiap digit adalah 9.
Setiap simbol yang ada di keyboard memiliki kode ASCII. Sebagai contoh Huruf “A” memiliki kode ASCII 65; huruf “a” memiliki kode ASCII 97.
Kode ASCII 65 dalam implementasinya diterjemahkan ke kode Biner.
65 = 01000001
97 = 01100001
Jumlah kode ASCII adalah 255 kode. Kode ASCII 0..127 merupakan kode ASCII untuk manipulasi teks, sedangkan kode ASCII 128..255 merupakan kode ASCII untuk manipulasi grafik. Kode ASCII sendiri dapat dikelompokkan lagi kedalam beberapa bagian:
Ø Kode yang tidak terlihat simbolnya seperti Kode 10(Line Feed), 13(Carriage Return), 8(Tab), 32(Space)
Ø Kode yang terlihat simbolnya seperti abjad (A..Z), numerik (0..9), karakter khusus (~!@#$%^&*()_+?:”{})
Ø Kode yang tidak ada di keyboard namun dapat ditampilkan. Kode ini umumnya untuk kode-kode grafik.

ASCII Character Set adalah Sebuah standard kode 7 bit yang menggambarkan karakter dari ASCII dengan menggunakan nilai biner. Jangkauan nilai kode ini adalah dari 0-127. Kebanyakan dari Komputer Pribadi (PC) menggunakan perluasan dari kode ASCII berbasis 8 bit, sehingga didapatkan 128 karakter ekstra, yang digunakan sebagai simbol khusus, karakter khusus, dan simbol grafis.

“Interaksi” yang dimunculkan pada artian kalimat tersebut adalah sebuah sarana untuk menyelesaikan permasalahan hubungan antara komputer yang hanya mengenal angka, sedangkan manusia tidak mungkin harus menghafalkan angka yang cukup banyak tersebut dan mempergunakan keyboard sebagai masukan atas perintah yang diinginkannya.

Terdapat dua jenis kode yang berhubungan dengan kode pada keyboard yaitu kode ASCII dan EBCDIC. ASCII adalah kode 7 bit, sehingga karakter digenerate oleh keyboard sebagai 7 bit kode (total jumlahnya ada sebanyak 128 kombinasi yang berbeda). ASCII adalah singkatan dari American Standard Code for Information Interchange. Sedangkan EBCDIC adalah singkatan dari ExtendedBinary Coded Decimal Interchange Code, dan utamanya digunakan oleh IBM.
Kode ASCII me-representasikan kode-kode untuk :

1)      Angka (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
2)      Huruf ( a – z, A – Z )
3)      Simbol ( &, ^, %, $ @ .. )
4)      Tombol ( Enter, Esc, Backspace, Space, Tab, Shift, Ctrl )
5)      Karakter Grafis ( kode ASCII Standar nomor 128 s/d 255 )
6)      Kode Komunikasi ( ETX, STX, ENQ, ACK .. )

Kompleksnya kode-kode dalam ASCII ini akhirnya perlu untuk dibagi menjadi 2 (dua) bagian, yaitu :
1)    Kode ASCII Standard
Kode ini merepresentasikan angka, huruf serta tombol standar, Enter, Escape, Backspace dan Space. Selain itu juga terdapat karakter-karakter yang tidak terdapat pada keyboard, yang dapat diaktifkan dengan melakukan penekanan tombol kombinasi “Alt” dan angka yang dimaksud, sebagai contoh tombol kombinasi “Alt” dan angka “127″ akan menghasilkan karakter grafis.

2)    Kode ASCII Extended
Kode ASCII Extended akan bertindak sebagai kode perluasan (extended) dari kode ASCII yang ada, karena tidak semuanya mampu tertampung dalam kode ASCII standard.
Kode ASCII jenis ini lebih banyak bertindak sebagai kode-kode tombol khusus, seperti kode untuk tombol F1 s/d F12. Sebagai contoh adalah kode ASCII extended untuk F12 adalah “123″. Belum lagi dengan tombol kombinasi, misalnya “Alt” dan “F1″, “Ctrl” dan “F1″, atau tombol-tombol yang biasa kita lakukan “Alt” + “F” untuk membuka menu file, “Ctrl” dan “O” untuk membuka dokumen dsb.

1.2.   ANSI
ANSI C adalah sebuah standar yang dibuat oleh American National Standard Institute (ANSI) untuk bahasa pemrograman C. Tujuannya adalah agar bahasa pemrograman C lebih modern dan komprehensif, dengan memperbaiki syntax dan grammar bahasa C. ANSI C adalah standar bahasa C pertama. Bahasa pemrograman C merupakan salah satu bahasa pemrograman komputer. Dibuat pada tahun 1972 oleh Dennis Ritchie untuk Sistem Operasi Unix di Bell Telephone Laboratories. Meskipun C dibuat untuk memprogram sistem dan jaringan komputer namun bahasa ini juga sering digunakan dalam mengembangkan software aplikasi. C juga banyak dipakai oleh berbagai jenis platform sistem operasi dan arsitektur komputer, bahkan terdapat beberepa compiler yang sangat populer telah tersedia. C secara luar biasa memengaruhi bahasa populer lainnya, terutama C++ yang merupakan extensi dari C.
Pada perkembangannya, muncul versi-versi C lain yang pada akhirnya membuat kebingungan di kalangan pemrogram. Karena itu, pada tahun 1983, American National Standards Institute (ANSI) membuat sebuah komite untuk membuat sebuah versi standar dari bahasa C. Setelah melalui proses yang panjang dan sengit, pada tahun 1989, telah berhasil disahkan standar yang dinamakan ANSI X3.159-1989, versi ini seringkali dinamakan ANSI C, atau kadang-kadang C89.
Pada 1990, versi ANSI C diadopsi oleh Organization for Standardization (ISO) dengan sedikit perubahan dengan nama ISO/IEC 9899:1990. Versi ini seringkali dinamakan ISO C atau C90. Karena versi ANSI C dan ISO C hanya memiliki sedikit perbedaan, pemanggilan C90 dan C89 merujuk pada bahasa yang sama.
Berikut 32 kata-kata kunci atau keyword yang di tetapkan oleh ANSI    ( American National Standar intitute ): Auto, Break, Case, Char, Const, Continue, Default, Do, Double, Else, Enum, Extern, Float, For, Go to, If, Int, Long, Register, Return, Short, Signed, Size of, Static, Struct, Switch, Type def, Uniam, Unsigned, Vold, Volatile, While.
Kelebihan bahasa C
Ø  Tersedia hampir di semua jenis komputer.
Ø  Kodenya bersifat portabel. Aplikasi yang ditulis dengan C untuk suatu komputer tertentu dapat digunakan di komputer lain hanya dengan sedikit modifikasi.
Ø  Struktur bahasa yang baik,mudah dipelajari, memudahkan pembuatan program, memudahkan
Ø  Pelacakan kesalahan program.
Ø  Dibandingkan bahasa mesin atau assembly, C jauh lebih mudah dipahami. C berorientasi pada permasalahan, bukan pada mesin.
Ø  Dapat memanipulasi data dalam bentuk bit atau byte.
Ø  Memungkinkan untuk memanipulasi alamat dari suatu data atau pointer.
Kelemahan Bahasa C
Ø  Banyaknya operator serta fleksibilitas penulisan program kadang-kadang membingungkan pemakai.
Ø  Para pemrogram C tingkat pemula umumnya belum pernah mengenal pointer dan tidak terbiasa menggunakannya padahal keampuhan C justru terletak pada pointer.

II.            KOMPRESI FILE
ZIP adalah standar file data compression yang paling populer, diciptakan oleh Phil Katz dan diberi nama PKARC (Phil Katz Archive), berhubung ada bentrokan legalitas dari nama ARC maka PKARC dirubah menjadi PKZIP dan code extention akhirannya di beri code ZIP. Dengan data compression, ukuran data akan lebih kecil sehingga penggunaan media penyimpanan atau transfer data apa pun akan menjadi lebih efisien. File - file ZIP dapat dibuka atau di Extrack dengan berbagai macam software gratis (freeware) maupun software trial (shareware), sebagai contoh adalah software WinZip. Software Winzip dapat digunakan untuk membuka atau mengextrack file zip dan juga mampu melakukan proses data compression dengan standar file ZIP, Sedangkan untuk file RAR adalah standar file data compression yang diciptakan oleh Eugene Roshal, di beri nama sebagai Roshal Archive (RAR) dan file extention diakhiri dengan code RAR serta didukung dengan adanya fitur error recovery atau pemulihan kesalahan. Contoh software yang mendukung file RAR adalah WinRar. WinRar merupakan software yang dapat membuka file extention berakhiran .zip dan .rar.
Kompresi ialah proses pengubahan sekumpulan data menjadi suatu bentuk kode untuk menghemat kebutuhan tempat penyimpanan dan waktu untuk transmisi data. Saat ini terdapat berbagai tipe algoritma kompresi, antaralain: Huffman, LIFO, LZHUF,LZ77 dan variannya (LZ78, LZW, GZIP), Dynamic Markov Compression (DMC), Block-SortingLossless, Run-Length, Shannon-Fano,Arithmetic, PPM (Prediction by PartialMatching), Burrows-Wheeler Block Sorting, dan Half Byte. Berdasarkan tipe peta kode yang digunakan untuk mengubah pesan awal (isi file input) menjadi sekumpulan codeword, metode kompresi terbagi menjadi dua kelompok, yaitu :
Ø  Metode static : menggunakan peta kode yang selalu sama. Metode ini membutuhkan dua fase (two-pass): fase pertama untuk menghitung probabilitas kemunculan tiap simbol/karakter dan menentukan peta kodenya, dan fase kedua untuk mengubah pesan menjadi kumpulan kode yang akan ditransmisikan. Contoh: algoritma Huffman statik.
Ø  Metode dinamik (adaptif) : menggunakan peta kode yang dapat berubah dari waktu ke waktu. Metode ini disebut adaptif karena peta kode mampu beradaptasi terhadap perubahan karakteristik isi file selama proses kompresi berlangsung. Metode ini bersifat 1-kali pembacaan terhadap isi file. Contoh: algoritma LZW dan DMC

Berdasarkan teknik pengkodean/pengubahan simbol yang digunakan, metode kompresi dapat dibagi ke dalam tiga kategori, yaitu :

a.       Metode  symbolwise : menghitung peluang kemunculan dari tiap simbol dalam file input, lalu mengkodekan satu simbol dalam satu waktu, dimana simbol yang lebih sering muncul diberi kode lebih pendek dibandingkan simbol yang lebih jarang muncul, contoh: algoritma  Huffman.
b.      Metode  dictionary : menggantikan karakter/fragmen dalam file input dengan indeks lokasi dari karakter/fragmen tersebut dalam sebuah kamus (dictionary), contoh: algoritma LZW.
c.       Metode  predictive : menggunakan model  finite-context atau  finite-state untuk memprediksi distribusi probabilitas dari simbol-simbol selanjutnya; contoh: algoritma DMC. Ada beberapa faktor yang sering menjadi pertimbangan dalam memilih suatu metode kompresi yang tepat, yaitu kecepatan kompresi, sumber daya yang dibutuhkan (memori, kecepatan PC), ukuran file hasil kompresi, besarnya redundansi, dan kompleksitas algoritma.

Tidak ada metode kompresi yang paling efektif untuk semua jenis file. Dalam penelitian ini, diimplementasikan tiga buah metode kompresi, yaitu algoritma Huffman, LZW, dan DMC, yang masing-masing mewakili sebuah kategori teknik pengkodean, dalam bentuk sebuah perangkat lunak. Ketiga metode ini diujikan untuk mengkompresi dan mendekompresi berbagai tipe dan ukuran file yang berbeda. Lalu dilakukan analisis statistik untuk membandingkan kinerja setiap metode berdasarkan dua faktor, yaitu rasio/perbandingan ukuran file hasil kompresi terhadap file asli dan kecepatan kompresinya.
Ruangan penyimpanan lebih kecil sehingga lebih efisien dalam menyimpannya atau mempersingkat waktu pertukaran data tersebut. Ada terdapat dua jenis pemampatan data, yaitu pemampatan tanpa kehilangan (lossless data compression) dan pemampatan berkehilangan (lossy data compression).
1.      Lossy Compression.
Lossy compression menyebabkan adanya perubahan data dibandingkan sebelum dilakukan proses kompresi. Sebagai gantinya lossy compression memberikan derajat kompresi lebih tinggi. Tipe ini cocok untuk kompresi file suara digital dan gambar digital. File suara dan gambar secara alamiah masih bisa digunakan walaupun tidak berada pada kondisi yang sama sebelum dilakukan kompresi.
2.      Lossless Compression.
Sebaliknya Lossless Compression memiliki derajat kompresi yang lebih rendah tetapi dengan akurasi data yang terjaga antara sebelum dan sesudah proses kompresi. Kompresi ini cocok untuk basis data, dokumen atau spreadsheet. Pada lossless compression ini tidak diijinkan ada bit yang hilang dari data pada proses kompresi.
Secara umum kompresi data terdiri dari dua kegiatan besar, yaitu Modeling dan Coding. Proses dasar dari Compresi data adalah menentukan serangkaian bagian dari data (stream of symbols) mengubahnya menjadi kode (stream of codes). Jika proses kompresi efektif maka hasil dari stream of codes akan lebih kecil dari segi ukuran daripada stream of symbols. Keputusan untuk mengindentikan symbols tertentu dengan codes tertentu adalah inti dari proses modeling. Secara umum dapat diartikan bahwa sebuah model adalah kumpulan data dan aturan yang menentukan pasangan antara symbol sebagai input dan code sebagai output dari proses kompresi. Sedangkan coding adalah proses untuk menerapkan modeling tersebut menjadi sebuah proses kompresi data.
1. Mencatat Pengulangan

Sebagian besar tipe file digital mengandung pengulangan. File-file tersebut memiliki informasi yang sama yang ditampilkan secara berulang. Aplikasi kompresi file membuang pengulangan-pengulangan tersebut. Alih-alih menampilkan potongan informasi yang sama secara berulang, aplikasi kompresi mencatat informasi tersebut satu kali saja, dan akan menduplikasikannya kembali saat file diekstrak.

Sebagai contoh, perhatikan tipe informasi yang sangat akrab dengan kita berikut ini: kata. “Jangan tanya apa yang negara berikan pada Anda. Tanya apa yang Anda berikan pada negara.” (terjemahan kutipan dari Presiden AS, John F. Kennedy). Kutipan tersebut memiliki 15 kata, yang terdiri dari 74 karakter, 14 spasi, dan 2 titik.

Jika setiap huruf, spasi, dan tanda baca mengambil satu unit memory komputer, kita mendapatkan file dengan ukuran 93 unit. Untuk memperkecil ukuran file tersebut, kita harus memperhatikan pengulangan yang terjadi. Sekejap kita mendapatkan data berikut:
Ø  “tanya” muncul 2 kali
Ø  “apa” muncul 2 kali
Ø  “yang” muncul 2 kali
Ø  “negara” muncul 2 kali
Ø  “berikan” muncul 2 kali
Ø  “pada” muncul 2 kali
Ø  “Anda” muncul 2 kali

Secara kasar, setengah dari kutipan JFK di atas adalah pengulangan. Tujuh kata (tanya, apa, yang, negara, berikan, pada, Anda) memberikan hampir semua informasi keseluruhan kutipan. Untuk membangun setengah kutipan bagian akhir, kita hanya menunjuk kata-kata yang ada pada setengah kutipan bagian awal, dan mengisinya dengan spasi.

2. Algoritma Pengulangan

Kebanyakan aplikasi kompresi menggunakan variasi algoritma dictionary-based LZ (yang diambil dari dua nama penemu algoritma ini, Lempel dan Ziv) untuk mengecilkan file. Sistem ini membuat semacam katalog dengan deretan angka. Kembali ke kutipan JFK di atas, kita bisa membuat katalognya sebagai berikut:
  1. Tanya.
  2. Apa.
  3. Yang.
  4. Negara.
  5. Berikan.
  6. Pada.
  7. Anda.
Dari katalog di atas, kita dapat merumuskan kutipan JFK menjadi:
"Jangan 1 2 3 4 5 6 7. 1 2 3 7 5 6 4."

Itulah algoritma pengulangan yang digunakan oleh aplikasi kompresi untuk mengecilkan ukuran file, dan merekonstruksinya kembali ke ukuran semula. “Jangan 1 2 3 4 5 6 7. 1 2 3 7 5 6 4.” ditambah daftar kata dalam katalog, tentu lebih pendek daripada “Jangan tanya apa yang negara berikan pada Anda. Tanya apa yang Anda berikan pada negara.”

Dari contoh di atas, kita berhasil memampatkan kutipan JFK dari 93 unit menjadi 36 unit untuk kalimat yang terkompresi, dan 54 unit untuk katalog, atau total 90 unit. Ya, kita berhasil menghemat 3 unit! Namun, seperti kata pepatah, “Sedikit demi sedikit, lama-lama menjadi bukit,” proses kompresi file di komputer mengumpulkan yang sedikit itu, namun dalam jumlah yang besar.

3. Menemukan Pola

Dari contoh di atas, kita mengambil semua kata yang digunakan berulang dan meletakkannya di dalam sebuah katalog. Bagi kita, ini adalah cara yang paling lazim digunakan untuk menulis kamus, index, atau glosarium. Tapi, sebuah aplikasi kompresi melihatnya sedikit berbeda: algoritma kompresi tidak mengenal kata-kata yang terpisah, melainkan mencari pola atau pattern.

Untuk semakin memperkecil ukuran file, aplikasi kompresi memilih pola apa yang harus dimasukkan dalam katalog. Bila melihat kutipan JFK di atas dari sudut pandang ini, kita akan mendapatkan isi katalog yang benar-benar berbeda dari contoh di atas. Aplikasi kompresi memindai kutipan JFK, pengulangan pertama yang dicatat adalah pola huruf  “a” dan  “n” yang dikuti oleh spasi.

Pada frase pertama kutipan tersebut, “Jangan tanya apa yang negara berikan pada Anda.” terdapat empat pola huruf  “a” yang dikuti spasi. Dua pola gabungan huruf  “an” yang diikuti spasi pada “jangan” dan “berikan”. Dua pola gabungan huruf  “ang” pada kata  “jangan” dan “yang”, serta pola-pola lain yang mungkin luput dari perhatian kita.

Berbekal katalog pola (bukan kata) inilah aplikasi kompresi memampatkan sebuah file hingga 90% bahkan lebih, terutama pada file yang memiliki banyak pola yang berulang, misalnya pada file-file yang di dalamnya terdapat tag (HTML, XML, TIFF, dan lain-lain).


0 komentar:

Donasi

Statistik

Alexa Rank

Pilihan

Penghargaan

Daftar Pengunjung

 
Temukan Kami : ARS Blog FB | RERE CORPORATION | chelsea
Copyright © 2014. ARS Blog - All Rights Reserved
Template Created by Creating Website Published by Mas Template
Proudly powered by Blogger