paradigma Rekayasa Perangkat Lunak

Paradigma Pemrograman

Paradigma pemrograman adalah bagaimana cara pandang kita terhadap penyelesaian masalah pemrograman (atau sudut “serang” kita dalam menyelesaikan suatu masalah pemrograman). Ada banyak cara untuk menyelesaikan suatu masalah, sehingga ada banyak paradigma yang ada.

Beberapa contoh paradigma pemrograman yang ada saat ini adalah: prosedural, fungsional, deklaratif, dan objek. Secara singkat dapat dikatakan bahwa:

paradigma prosedural memandang penyelesaian masalah sebagai hasil dari serangkaian langkah yang menyelesaikan sub masalah.

Didasari konsep Von Newmann [stored program concept]:
Terdapat memori yang dibedakan menjadi instruksi dan data. Memori ini dapat diberi nama dan harga. Dalam paradigma ini, kita memberikan instruksi yang akan diproses secara berurutan. Dalam instruksi ini, dapat juga terdapat percabangan, yang akan menentukan proses selanjutnya.
Pemrograman ini “gak manusia banget”, karena kita harus berpikir dalam batasan mesin. Namun, keuntungan dengan paradigma ini adalah efisiensi eksekusi, karena dekat dengan mesin.

Contoh : Algol, Pascal, Fortran, Basic, Cobol, C, dll…
paradigma fungsional memandang penyelesaian masalah sebagai komposisi fungsi yang memetakan masalah ke jawaban

Didasari fungsi [seperti dalam matematika]
Terdapat fungsi–fungsi dasar yang dapat dilakukan oleh mesin. Fungsi-fungsi tersebut dapat membentuk komposisi yang disebut sebagai primitif. Untuk menyelesaikan masalah, kita menyusun primitif sedemikian rupa untuk menyelesaikan masalah yang ada, untuk memunculkan solusi. Dengan demikian, kekurangan paradigma ini adalah efisiensi serta kinerjanya, karena pengolahan dilakukan lebih lama.

Contoh : LISP, APL, LOGO

paradigma deklaratif memandang penyelesaian masalah adalah pekerjaan komputer yang dilakukan melalui inferensi terhadap fakta

Didasari oleh predikat, yakni pendefinisian relasi antar individu yang merupakan kumpulan dari fakta.
Pada paradigma ini, diuraikan sejumlah fakta dan aturan [inference rules]. Ketika program dieksekusi, pemakai program mengajukan pertanyaan [query]. Selanjutnya, program akan menyocokkan pertanyaan dengan fakta-fakta yang ada untuk menyelesaikan masalah.

Contoh : Prolog

paradigma objek memandang penyelesaian masalah sebagai hasil interaksi dari objek (objek dalam konsep ini merupakan representasi objek di dunia nyata)

Didasari oleh objek.
Sebuah objek mempunyai atribut [sifat ], serta memberikan reaksi yang khusus. Sesama objek dapat saling berinteraksi, sehingga mengandung sedikit paradigma imperatif.
Contoh : C++, Java, Smalltalk, Eiffel, dll…
Selain paradigma di atas, terdapat juga paradigma konkruen[cth : OCCAM, Ada], yang memungkinkan pemrosesan secara paralel, dan paradigma relasional[cth : SQL pada basis data relasional] yang berdasarkan entity [kesatuan yang lahir] dan relasi.

Paradigma prosedural merupakan paradigma yang sangat intuitif sehingga mudah dipelajari. Dalam paradigma prosedural masalah diselesaikan dengan menggunakan langkah-langkah yang berurutan yang disebut sebagai suatu algoritma. Selain sangat intuitif bagi programmer, cara penyelesaian prosedural ini juga merupakan cara yang paling alami bagi komputer (secara hardware, komputer bekerja secara sekuensial atau berurutan).

Paradigma Pemrograman
1.Paradigma = Sudut Pandang Tertentu.
2.Bagaimana cara pandang kita terhadap penyelesaian masalah pemrograman.
3.Paradigma membatasi dan mengkondisikan jalan berfikir kita.
4.Hanya mengarahkan kita terhadap beberapa atribut dan membuat kita megabaikan atribut yang lain.
5.Tidak boleh fanatisme terhadap sebuah paradigma, mempersempit wawasan.
6.Dalam pemrograman ada beberapa paradigma, masing-masing mempunyai strategi analisis pemecahan tersendiri.
7.Suatu persoalan dapat dipecahkan menggunakan sebuah paradigma, sedangkan beberapa jenis persoalan tidak dapat dipecahkan hanya dengan menggunakan sebuah paradigma.
8.Program harus dihasilkan dari proses pemahaman permasalahan, analisis, sintesis dan dituangkan menjadi kode secara sistematis dan metodologis.
1.Paradigma Prosedural atau imperatif
Program dalam paradigma ini didasari pada strukturasiinformasidi dalam memori dan manipulasi dari informasi yang disimpan tersebut.
memandang penyelesaian masalah sebagai hasil dari serangkaian langkah yang menyelesaikan sub masalah.
2.Paradigma Fungsional
Didasari oleh konsep pemetaan dan fungsi pada matematika. Fungsi dapat berbentuk sebagai fungsi “primitif”, atau komposisi dari fungsi-fungsi lain yang telah terdefinisi.
Fungsi merupakan dasar utama program.
Pemrogram tidak perlu lagi mengetahui bagaimana mesin mengeksekusi atau bagaimana informasi disimpan dalam memori.
Memandang penyelesaian masalah sebagai komposisi dan aplikasi fungsi yang memetakan masalah ke jawaban.
3.Paradigma Deklaratif, predikatif atau lojik
Memandang penyelesaian masalah sebagai hasil inferensi terhadap fakta dan aturan yang diberikan.
Sebuah program lojik adalah kumpulan aksioma (fakta dan aturan).
Pemrogram menguraikan sekumpulan fakta dan aturan-aturan.
Pemrograman ini mendeskripsikan suatu masalah dengan pernyataan daripada memecahkan masalah dengan implementasi algoritma.
Bahwa menyatakan setiap langkah program bukanlah satu-satunya cara untuk menyelesaikan masalah
Hanya menyatakan apa yang perlu dilakukan, tanpa perlu menjelaskan langkah-langkahnya
4.Paradigma Berorientasi Objek (Object Oriented)
Didasari oleh objek. Sebuah objek mempunyai atribut (kumpulan sifat), dan mempunyai kelakuan (kumpulan reaksi, metoda)
Paradigma ini menawarkan konsep class, generic, inheritance, polymorphism
memandang penyelesaian masalah sebagai hasil interaksi dari kelas yang membentuk objek (objek dalam konsep ini merupakan representasi objek di dunia nyata)
Paradigma Dalam Pemrograman
Selain keempat paradigma di atas, masih ada paradigma yang lain, misal :
1.Paradigma konkuren, hubungannya dengan arsitektur perangkat keras.
2.Paradigma relasional, yang didasari entity dan relasi, dan pemrograman dalam bahasa Query yang memungkinkan diperolehnya suatu himpunan nilai.
Bahasa Pemrograman
>Bahasa (Language)
Suatu Sistem untuk berkomunikasi.
Bahasa tertulis menggunakan simbol (huruf) untuk membentuk kata.
Dalam Ilmu Komputer :
Bahasa Manusia (Bahasa Alamiah)
Bahasa Komputer (Bahasa Pemrograman)
>Bahasa Pemrograman (Programming Language)
Kumpulan perintah-perintah bermakna, berstruktur tertentu (syntax) yang dapat dimengerti komputer yang berguna didalam penyelesaian masalah.
>Bahasa Pemrograman
Ada banyak sekali bahasa pemrograman, mulai dari bahasa tingkat rendah (bahasa mesin dalam biner), bahasa asembler (dalam kode mnemonik), bahasa tingkat tinggi, sampai bahasa generasi ke empat (4GL).
Bahasa pemrograman berkembang dengan cepat sejak tahun enam puluhan, seringkali dianalogikan dengan menara Babel yang berakibat manusia menjadi tidak lagi saling mengerti bahasa masing-masing. Untuk setiap paradigma, tersedia bahasa pemrograman yang mempermudah implementasi rancangan penyelesaian masalahnya.

ANIMASI

Animasi adalah gambar begerak berbentuk dari sekumpulan objek (gambar) yang disusun secara beraturan mengikuti alur pergerakan yang telah ditentukan pada setiap pertambahan hitungan waktu yang terjadi. Gambar atau objek yang dimaksud dalam definisi di atas bisa berupa gambar manusia, hewan, maupun tulisan. Pada proses pembuatannyam sang pembuat animasi atau yang lebih dikenal dengan animator harus menggunakan logika berfikir untuk menentukan alur gerak suatu objek dari keadaan awal hingga keadaan akhir objek tersebut. Perencanaan yang matang dalam perumusan alur gerak berdasarkan logika yang tepat akan menghasilkan animasi yang menarik untuk disaksikan.

Apabila kita perhatikan penjelasan sebelumnya, maka dapat disimpulkan bahwa terdapat dua hal penting yang harus diperhatikan dalam pembuatan animasi, yaitu Objek/ gambar dan alur gerak.

Atau juga Animasi merupakan suatu teknik menampilkan gambar berurut sedemikian rupa sehingga penonton merasakan adanya ilusi gerakan (motion) pada gambar yang ditampilkan. Secara umum ilusi gerakan merupakan perubahan yang dideteksi secara visual oleh mata penonton sehingga tidak harus perubahan yang terjadi merupakan perubahan posisi sebagai makna dari istilah ‘gerakan’. Perubahan seperti perubahan warna pun dapat dikatakan sebuah animasi.

Dalam bidang grafika pemodelan visual dapat dikategorikan sebagai dua kelompok yaitu pemodelan geometrik dan pemodelan penampilan (appearance). Pemodelan geometrik merupakan representasi dari bentuk objek yang ingin ditampilkan sedangkan pemodelan penampilan membuat representasi sifat visual atau penampakan objek tersebut. Contoh sifat visual diantaranya warna dan tekstur. Berdasarkan definisi animasi di atas bahwa sebuah animasi disusun oleh himpunan gambar yang ditampilkan secara berurut maka animasi dapat dikatakan sebuah fungsi terhadap waktu. Gambar dapat didefinisikan sebagai koleksi deskripsi geometris dan visual ataupun dapat berupa citra. Pada gambar yang merupakan koleksi deskripsi, maka animasi didefinisikan sebagai fungsi yang memetakan waktu kepada perubahan parameter-parameter dari deskripsi. Pada gambar yang merupakan citra, animasi didefinisikan sebagai fungsi yang memetakan waktu kepada tiap elemen citra.
Animasi Flash

Ada 2 cara untuk membuat animasi di dalam Flah, animasi frame by frame dan animasi tweening. Pada animasi frame-by-frame, Anda akan membuat gambar pada setiap frame. Pada animasi tweening, Anda hanya membuat frame awal dan frame akhir, sedang Flash akan membuat frame diantaranya (in between). Animasi tween merupakan cara yang baik untuk membuat gerakan dan perubahan dalam movie dengan file yang relatif kecil.

Animasi Frame by Frame

Animasi Frame by Frame adalah membuat sebuah ilusi pergerakan dari sebuah gambar/objek yang diam (still image) frame demi frame-nya.

Pada materi ini Anda akan mempelajari bagaimana cara membuat objek bergerak melintas pada Stage, merubah ukuran, memutar, mengganti warna dan mengubah bentuk. Ada beberapa istilah dalam pembuatan animasi, diantaranya adalah :

1. Frame dapat diumpamakan seperti film, yaitu film merupakan kumpulan gambar yang dimainkan secara berurutan dengan kecepatan tertentu, sehingga gambar tersebut terlihat bergerak .

2. Keyframe adalah frame dimana Anda menentukan perubahan pada tombol atau animasi. Pada animasi tween, Anda membuat keyframe hanya pada titik yang penting di dalam Timeline. Keyframe ditandai oleh titik di dalam frame. Keyframe yang tidak berisi gambar di dalam layer ditandai oleh titik kosong.

3. BlankKeyframe artinya kita mempersiapkan frame kosong untuk diisi objek baru, dan apabila kita menggambar objek, blank keyframe tersebut sudah berisi objek. Blank keyframe dilambangkan dengan titik bulat putih pada frame.
Macam-macan Animasi adalah:

1. Motion Path

Anda dapat menggunakan motion path untuk membuat symbol bergerak mengikuti bentuk lintasan yang sulit. Dengan menggunakan layer Motion Guide untuk membuat garis untuk lintasan gerak objek. Layer Guide ditandai oleh ikon guide disebelah nama layer.

2. Animasi Margue

Animasi margue banyak dilihat pada situs web, yaitu suatu teks yang muncul dari bagian kanan layar, lalu begerak menuju ke kiri layar dan menghilang, begitu seterusnya.

3. Animasi Transparan

Animasi transparan adalah animasi yang terlihat secara transparan perlahan-lahan lalu menghilang. Animasi ini sering digunakan dalam melakukan pergantian animasi dari satu animasi ke animasi lainnya, sehingga perpindahan animasi akan terlihat halus.

4. Animasi Fade

Animasi fade adalah animasi pemudaran. fade dibagi menjadi 2, yaitu fade in (pemudaran ke dalam) dan fade out (pemudaran keluar).

5. Animasi Rotasi

Animasi rotasi adalah animasi objek atau teks yang berputar, seperti jam, kincir angin, putaran roda, dan lain-lain. Kita bisa memutarnya searah jarum jam (CW : Clock Wise) atau berlawanan dengan arah jarum jam (CCW : Counter Clock Wise).

6. Animasi Blink

Blink adalah animasi berkedip atau berkelip, seperti bintang di langit atau lampu disco, animasi blink biasanya sangat efektif untuk menarik perhatian, sehingga banyak digunakan untuk membuat banner.

7. Animasi Shape

Animasi ini adalah perubahan bentuk dari suatu objek menjadi objek lain atau dari suatu objek menjadi teks dan sebaliknya. Animasi ini juga sering disebut efek Morph.

8. Animasi Masking

Masking adalah animasi yang menyembunyikan atau menutupi suatu objek dengan objek lain, sehinga objek yang menutupi terlihat transparan dan menyatu dengan objek yang ditutupi.

 

Pewarnaan

Dasar Teori Warna
Warna adalah suatu bentuk cahaya atau radiasi gelombang elektromagnetik, yang dihasilkan dari cahaya matahari yang berwarna putih murni.2
Gambar 2.13 Warna Primer Teori warna terdapat 3 (tiga) buah pembagian warna, yaitu warna primer, sekunder, dan tersier. Primer merupakan warna dasar untuk menghasilkan warna-warna lainnya, warna sekunder yang merupakan penggabungan dari dua buah warna primer, dan warna tersier diperoleh dengan mencampur warna sekunder dengan warna lain di sebelahnya dalam lingkaran warna.
Gambar 2.14 Lingkaran warna Sekunder
2 Dulux. Serial Rumah Spesial Kombinasi Warna
Gambar 2.15 Warna Sekunder
Gambar 2.16 Lingkaran warna Tersier
Gambar 2.17 Warna Tersier
2.3.2 Warna RGB dan CMYK
RGB merupakan komposisi dari 3 (tiga) warna spektrum, yaitu Red, Green, dan Blue. Komposisi dari ketiga warna digunakan oleh komputer dan tampilan pada monitor untuk menciptakan warna tersendiri. Nilai 100% dari masing – masing warna akan menjadi tampilan putih (white screen), sedangkan nilai 0% dari masing – masing warna tersebut akan menjadi tampilan warna gelap (dark screen). Palet RGB menggunakan 255 tingkat warna gradasi.
CMYK merupakan komposisi dari 4 (empat) spektrum warna, yaitu Cyan, Magenta, Yellow dan Black. Keempatnya merupakan dasar warna
yang digunakan pada pengoperasian printer. Komposisi warna CMYK hanya sebatas 100 tingkat gradasi.
2.3.3 Teknik Pewarnaan
Pembuatan suatu animasi tidak terlepas dengan teknik-teknik pembuatan didalamnya, termasuk teknik dalam mewarnai. Skripsi ini menggunakan teknik pewarnaan berdasarkan arah cahaya dengan memanfaatkan layer untuk tingkatan warna berbeda. Teknik ini mempunyai 4 macam jenis penerapan pewarnaan , yaitu Basic, Higlight, Shadow, dan Gradasi.
Teknik pewarnaan Basic merupakan teknik pewarnaan dengan menggunakan 1 layer warna. Objek yang sudah diwarna hanya mempunyai 1 warna saja. Teknik pewarnaan Highlight yaitu teknik yang menggunakan beberapa tingkatan warna atau layer untuk mendeskripsikan arah cahaya datang. Teknik ini menggunakan warna panas yang cerah dan juga warna basic. Teknik pewarnaan Shadow adalah kebalikan dari teknik Highlight, bedanya terletak pada penggunaan antara warna dingin dan basic/warna dasar, dan teknik ini lebih menekankan pada unsur warna bayangan saat cahaya datang. Teknik Gradasi merupakan teknik menggunakan 1 layer yang mempunyai perpaduan 2 atau lebih garis warna di dalamnya berbentuk gradasi warna.
2.4 Sistem Pertelevisian Dunia
2.4.1 Sistem NTSC
NTSC (National Television System Committee) merupakan sistem milik Amerika Serikat dengan lebar layar 525 baris, digunakan di negara Kanada, Greenland, Mexico, Kuba, Jepang, Philipina, Puerto Rico dan beberapa negara di Amerika Selatan. Resolusi : NTSC 640×480, NTSC DV 720×480, NTSC WideScreen 720×480, NTSC D1 720×486, NTSC Square Pix 720×540. Frame rate dari NTSC adalah 30 fps.
2.4.2 Sistem PAL dan SECAM
Banyak negara yang menggunakan kedua sistem ini seperti Australia, China, Indonesia dan beberapa negara Asia. PAL (Phase Aternating Line) atau SECAM (Sequential Color and Memory). Kedua sistem ini memiliki lebar layar 625 baris. Resolusi : PAL D1/DV : 720×576, PAL D1/DV Square Pix : 768×576, PAL D1/DV WideScreen : 720×576. Sistem ini memiliki frame rate : 25 fps.
2.4.3 Sistem HDTV
HDTV (High Definition Television) adalah standar internasional baru untuk dunia televisi. HDTV dapat digunakan dalam 1.125 baris. Resolusi : 1280×720 . HDTV mempunyai frame rate 29,9 fps.
3 Analisis
Analisis sistem dibutuhkan untuk memecahkan masalah dalam pembuatan aplikasi multimedia dalam hal ini adalah pembuatan video klip animasi. Analisis sistem dilakukan dalam beberapa tahap, yaitu mengidentifikasi masalah sistem, menganalisis kebutuhan sistem pada aplikasi multimedia dan melakukan studi kelayakan.
3.1 Perancangan
Dalam perancangan dan pembuatan film animasi Bill n Bull the Monster Kid’s yang akan dibuat, secara garis besar melalui beberapa tahapan proses yang harus dilewati, yaitu pra produksi, produksi, dan pasca produksi.
Dalam bagian pra produksi atau perancangan film animasi Bill n Bull the Monster Kid’s meliputi Tema, Logline, 7 Pertanyaan Dasar, Diagram Scene, Character Development, Ringkasan Cerita, Naskah dan Storyboard.
3.2 Merancang Desain Karakter
Dalam perancangan berbagai karakter yang akan dibuat harus sesuai dengan karakter yang digambarkan oleh naskah. Berawal dari gambar-gambar secara kasar kemudian mulai disempurnakan oleh seorang desainer.
3.2.1 Pendefinisian Karakter Berdasarkan Watak
a. Karakter Putih (White Character)
Karakter putih yaitu karakter yang memiliki sifat dan budi pekerti yang baik, senang menolong sesama, dan tidak pernah melakukan hal-hal yang bersifat negative. Dalam film animasi 2D Bill n Bull the Monster Kid’s, karakter putih diperankan oleh Bill.
b. Karakter Hitam
Yaitu karakter yang memiliki sifat jahat dan suka membuat onar dengan tokoh lain di dalam cerita. Umunya karakter ini merupakan musuh sang tokoh utama. Dalam film animasi 2D Bill n Bull the Monster Kid’s, karakter hitam diperankan oleh Robot.
c. Karakter Abu-abu
Karakter abu-abu yaitu karakter yang mempunyai antara baik, nakal, dan jahat. Karakter ini diperankan oleh saudara Bill, yaitu Bull. Biarpun Bull merupakan tokoh utama, namun Bull mempunyai sifat jahil.
3.2.2 Pendefinisian Karakter Berdasarkan Peran
a. Karakter Utama
b. Karakter pendukung
c. Karakter Figuran
d. Karakter Antagonis
3.3 Merancang Warna Tokoh
Merancang dan menentukan warna pada tokoh-tokoh kartun ini merupakan pekerjaan yang membutuhkan ketelitian dalam membayangkan visual bentuk menjadi suatu karakter, karena terkadang perpaduan antara tokoh karakter dan property yang ada kurang menyatu.
Warna karakter Bill dan Bull dalam skripsi ini sengaja dibuat dengan warna biru (Bull) dan hijau (Bill) supaya ada perbedaan dasar diantara keduanya.
3.4 Merancang Layout
Layout digunakan untuk menggambarkan hasil jadi dari visual film tersebut. Dengan adanya penggunaan Layout seorang animator dan pembuat background dimudahkan untuk membuat animasi.
4 Pembahasan
4.1 Produksi
4.1.1 Background
Background merupakan lokasi dan setting dimana animasi itu berada. Background dapat dibuat secara sederhana atau kompleks sesuai keinginan.
Dalam pembuatan background pada film animasi 2D Bill n Bull the Monster Kid’s ini menggunakan software Adobe Photoshop CS3 dan Adobe Flash CS3. Ukuran gambar menggunakan resolusi sebesar 300 pixel/inch pada Adobe photoshop CS3.
Gambar 4.2 Pewarnaan Background
4.1.2 Key Animator
Seorang Key Animator bertugas membuat gambar-gambar kunci dari sebuah gerakan atau animasi. Dibawah ini merupakan salah satu contoh gambar Key dalam film Bill n Bull the Monster Kid’s.
Gambar 4.3 Key 1 – 3
4.1.3 Inbetween Animator
In Between adalah beberapa frame yang melengkapi dari frame Gambar Key sehingga nantinya akan terbentuk suatu urutan gerakan yang lebih halus.
Gambar 4.4 Inbetween
4.1.4 Proses Cleaning (Inker)
Proses cleaning disebut juga Proses Inker, gambar yang telah diselesaikan oleh Inbetweener menggunakan pensil 2B akan ditracing ulang menggunakan Drawing Pen untuk mendapatkan outline yang lebih tegas (lebih tebal)
Gambar 4.5 Inker
4.1.5 Pewarnaan
Proses pewarnaan ada yang menggunakan teknik analog dengan menggunakan cat air dan ada pula yang dilakukan secara digital menggunakan software komputer seperti software yang digunakan untuk pewarnaan film animasi 2D Bill n Bull the Monster Kid’s menggunakan Adobe Photoshop dan Adobe Flash.
4.1.6 Timesheeting
Merupakan proses mengatur frame pada animasi agar pergerakannya menjadi sesuai dengan yang diinginkan. Yaitu dengan cara copy frame dalam Adobe Flash CS3 yang akan diatur kemudian paste ke blank frame yang telah tersedia.
Gambar 4.45 Timesheeting
4.1.7 Animasi Motion Tween
Dalam membuat film animasi ini, selain menggunakan animasi frame to frame juga menggunakan animasi motion tween. Langkah-langkah untuk membuat animasi motion tween dalam membuat gerakan seolah Bull dan Bill terbang mendekat adalah sebagai berikut. Import gambar ke dalam layer. File / Import / Import to Stage. Kemudian atur posisi frame awal di atas. Pilih frame awal kemudian klik kanan pilih Create Motion Tween.
Gambar 4.46 Create Motion Tween
Pilih frame kosong pada jendela Timeline yang akan dijadikan sebagai keyframe dengan cara klik kanan / Insert Keyframe dan Zoom gambar.
Gambar 4.47 Frame terakhir Motion tween
4.1.8 Rendering Adobe Flash CS3
Setelah proses ini selesai, kemudian file diekspor ke dalam movie dengan format ekstensi .avi. Caranya pilih menu File / Export / Export Movie / Beri nama file kemudian klik Save. Dengan pengaturan Dimension : 768 x 576 pixel kemudian klik OK. Ukuran ini adalah standar sistem pertelevisian di Indonesia yaitu sistem PAL. Kemudian akan
tampil jendela Video Compresion, untuk hasil yang baik tetapi menghemat ruang hardisk pilih jenis compressor Indeo Video 5.10.
4.2 Pasca Produksi
4.2.1 Editing
4.2.1.1 Editing Dengan After Effect (Lens Flare Effect)
Efek Lens Flare digunakan untuk membuat cahaya matahari pada suatu video / animasi rumah yang telah diberi warna dan diberikan animasi dalam Adobe Flash dan Photoshop.
4.2.1.2 Editing Dengan Adobe Premiere Pro CS3
Proses editing di Premiere ini mulai dari import file, pemberian efek transisi, penempatan file animasi cut per cut, sampai proses rendering untuk format VideoCD PAL.
4.2.2 Mastering
Setelah semua proses dilalui maka proses terakhir adalah membuat master film. Untuk master film animasi 2D Bill n Bull the Monster Kid’s, penulis menggunakan media CD. Transfer file dari komputer ke dalam CD menggunakan software Nero Burning ROM.
Langkah-langkahnya adalah jalankan Nero / Make Data CD / klik tombol Add untuk memasukan atau menambah file / klik Next untuk pengaturan untuk burning / langkah terakhir klik tombol Burning.
5 Kesimpulan
Dalam pembuatan sebuah animasi diperlukan sebuah rancangan yang nantinya akan menjadi landasan dalam memproduksi animasi. Untuk membuat animasi yang baik secara garis besar harus melalui 3 tahapan, yaitu Pra Produksi, Produksi dan Pasca Produksi. Tahapan Pra Produksi meliputi The Story, Storyboard, Standard Character Model Sheet, Dope Sheet. Tahapan Produksi meliputi Background, Drawing, Line Test, Scan dan Tracing, Coloring dan Timing. Tahapan Pasca Produksi meliputi Editing Video Audio dan Mastering.
Pembuatan film animasi 2D berjudul Bill n Bull the Monster Kid’s merupakan pembuatan animasi yang memadukan antara cara manual dan digital. Pembuatan karakter pada film animasi ini dilakukan dengan cara menggambar atau manual di atas kertas kemudian diteruskan dengan proses scanning dan pengeditan animasi maupun pewarnaan dengan cara digital dengan komputer.
Dalam pewarnaan sebuah gambar dapat dilakukan dengan berbagai macam software grafik. Pembuatan film animasi Bill n Bull the Monster Kid’s menggunakan software Adobe Photoshop CS3 dan Adobe Flash dikarenakan software ini merupakan software yang user friendly, dengan demikian pewarnaan dapat dilakukan dengan mudah dan sederhana.
Dalam pembuatan film animasi 2D Bill n Bull the Monster Kid’s, teknik pewarnaan dengan Adobe Photoshop CS3 menggunakan tool Brush dan juga layer style. Sedangkan teknik pewarnaan dengan Adobe Flash CS3 menggunakan cara tracing gambar yang telah di scan, pen tool atau pencil tool untuk menciptakan gambar bayangan, dan fill color untuk pewarnaan.

 

PENGERTIAN ANIMASI

Animasi adalah menghidupkan gambar, sehingga anda perlu mengetahui dengan pastisetiap detail karakter anda, mulai dari tampak (depan, belakang, ¾ dan samping) detailmuka si karakter dalam berbagai ekspresi (normal, diam, marah, senyum, ketawa, kesal,dll.) lalu pose/ gaya khas karakter bila sedang melakukan kegiatan tertentu yang menjadiciri khas si karakter tersebut. Bahkan seorang ‘Sinchan’ dengan karakter yang sederhanatetapi mempunyai kekuatan personality-nya sehingga membuat penonton tahu betul sifat-sifatnya. Jadi perlu diperhatikan bahwa karakter anda bukan sekedar gambar tetapimempunyai kelakuan tertentu yang seolah-olah punya jiwa. Karena animasi adalahmembuat gambar anda kelihatan hidup, sehingga kita bisa mempengaruhi emosi penonton menjadi turut merasa sedih, ikutan menangis, jatuh cinta, kesal, gembira bahkan tertawa terbahak-bahak.Bila karakter anda sudah siap, tentu saja setelah lebih dari 100 kali anda mencoba, baruselanjutnya memastikan kelengkapan data pribadinya, sekaligus memberikan ‘warna’seperti pada contoh Ana dengan menggunakan satuan RGB (red, green & blue), gunanyaadalah agar anda dan teman anda yang bergabung dalam team anda tahu betul warnaRGB yang dipakai untuk kulitnya, bajunya, garisnya, dst.nya. Kalau perlu dibuat warnakarakter pada saat malam dan siang hari, di luar ruangan (exterior) dan di dalam ruangan(interior).a. Animasi 2D (2 Dimensi)Animasi ini yang paling akrab dengan keseharian kita. Biasa juga disebut dengan filmkartun. Kartun sendiri berasal dari kata Cartoon, yang artinya gambar yang lucu.Memang, film kartun itu kebanyakan film yang lucu. Contohnya banyak sekali, baik yangdi TV maupun di Bioskop. Misalnya: Looney Tunes, Pink Panther, Tom and Jerry,Scooby Doo, Doraemon, Mulan, Lion King, Brother Bear, Spirit, dan banyak lagi. Meskiyang populer kebanyakan film Disney, namun bukan Walt Disney sebagai bapak animasikartun. Contoh lainnya adalah Felix The Cat, si kucing hitam. Umur si kucing itu sudahlumayan tua, dia diciptakan oleh Otto Messmer pada tahun 1919. Namun sayang, karenadistribusi yang kurang baik, jadi kita sukar untuk menemukan film-filmnya. Bandingkan
dengan Walt Disney yang sampai sekarang masih ada misalnya Snow White and TheSeven Dwarfs (1937) dan Pinocchio (1940).
Program-program atau software yang digunakan
Banyak sekali program yang beredar di pasaran saat ini, selain program yang integratedatau sudah di desain dalam 1 paket seperti toon boom, animaster, dan lain sebagainya.Pada dasarnya untuk 2D (yang juga digunakan sebagai basic untuk 3D) adalah program/tool yang dipakai untuk menggambar, atau memindahkan gambar menjadisatuan terkecil yang bisa dibaca oleh program dalam komputer anda.Salah satu yang paling popular, mudah didapatkan & cukup ‘sakti’ adalah keluaran dariAdobe Photoshop, sebetulnya software ini diciptakan khusus untuk memperbaiki danmengolah foto yang dirubah menjadi digital. Namun pada perkembangannya Photoshopmalah menjadi salah satu software andalan yang digunakan juga untuk software 3D(contoh software 3D yang paling banyak digunakan saat ini antara lain 3D Studio Max,Lightwave & Maya) karena menggabungkan kemampuan menggambar manual anda kedalam digital.Selain program Photoshop, ada lagi program Adobe After Effects; yang dari namanyasaja sudah dapat kita tebak, program ini untuk menbuat berbagai efek yang diperlukanuntuk lebih menghidupkan animasi yang anda buat.Sementara program Adobe Premiere adalah alat utuk mengedit hasil scene anda ( akandijelaskan lebih lanjut mengenai scene ini).Software Animasi 2 Dimensi:Macromedia Flash, CoRETAS, Corel R.A.V.E., After Effects, Moho, CreaToon,ToonBoom, Autodesk Animaton (1990-an) dll

KOMPRESI FILE TEXT

Kompresi File

Zaman sekarang ini, teknologi kompresi file sangat dibutuhkan, terutama untuk transfer data dan lain-lain. Apa jadinya bila teknologi kompresi file belum ditemukan? Entahlah, yang jelas aktivitas pertukaran data di internet tidak semudah sekarang. Bayangkan bila harus mendonwload sebuah aplikasi yang tidak terkompresi.

Bagaimanakah computer dapat memperkecil (dengan mengurangi jumlah byte data) sebuah file bisa mengembalikannya tanpa perubahan apapun? Padahal ide dasar di balik teknologi ini sebenarnya sangat sederhana: membuang pengulangan.

 

ALGORITMA HUFFMAN
Kemajuan teknologi memicu kebutuhan informasi yang semakin besar. Sayangnya kebutuhan informasi yang besar ini berdampak pada kebutuhan storage (media penyimpanan) yang semakin besar pula. Storage yang besar tentu saja membutuhkan cost (harga) yang besar dan kecepatan akses data yang semakin lambat. Untuk mengatasi masalah storage dan kecepatan akses, salah satunya dengan mengkompresi informasi yang disimpan. Informasi yang dimaksud adalah informasi yang berupa file text (file berisi tulisan biasa). Kompresi file adalah sebuah cara yang bertujuan untuk menulis ulang suatu file supaya menjadi lebih ringkas namun informasi yang terdapat di dalam file aslinya tidak mengalami kerusakan atau pengurangan. Salah satu algoritma yang dapat digunakan untuk mengkompresi suatu file adalah algoritma Huffman algoritme (algoritma huffman).
Ide dasar dari algoritma huffman tree ini adalah dengan membangkitkan kode yang akan digunakan untuk mengkodekan file text. Tentu saja kode yang dihasilkan ukurannya akan lebih kecil dari ukuran satu karakter (1 byte). Dengan menggunakan algoritma huffman tree, akan dibentuk Prefix code (kode awalan) untuk setiap karakter dalam sebuah file. Dengan menggunakan huffman tree maka bisa dihasilkan prefix code yang unik untuk setiap karakter yang digunakan dalam sebuah file. Untuk menguraikan file yang sudah dikodekan, digunakan Huffman tree yang dibuat berdasarkan file tersebut. Sehingga huffman tree untuk sebuah file akan selalu disimpan dalam file hasil kompresi, untuk membaca kembali file yang sudah dikodekan tersebut.
Dalam pemrogramannya, panjang blok dari output sumber dipetakan dalam blok biner berdasarkan panjang variable. Cara seperti ini disebut sebagai fixed to variable-length coding. Ide dasar dari cara Huffman ini adalah memetakan mulai dari simbol yang paling banyak muncul / digunakan pada sebuah sumber sampai dengan yang jarang muncul menjadi sebuah urutan biner. Dalam variable-length coding, sinkronisasi merupakan suatu masalah. Ini berarti harus terdapat satu cara untuk memecahkan urutan biner yang diterima kedalam suatu codeword.
Seperti yang disebutkan diatas, bahwa ide dari Huffman Coding adalah memilih panjang codeword dari yang paling besar probabilitasnya sampai dengan urutan codeword yang paling kecil probabilitasnya. Apabila kita dapat memetakan setiap keluaran sumber dari probabiltas pi ke sebuah codeword dengan panjang 1/pi dan pada saat yang bersamaan dapat memastikan bahwa dapat didekodekan secara unik, kita dapat mecari rata-rata panjang kode H(x). Huffman Code dapat meng-dekodekan secara unik dengan H(x) minimum, dan optimum pada keunikan dari kode-kode tersebut.
1.      Huffman Tree
Kode Huffman digunakan secara luas dan sangat efektif untuk kompresi data. Bisa menghemat 20%-90% dari ukuran semula, tergantung tipe karakter yang dikompresi. Algoritma huffman menggunakan tabel yang menyimpan frekuensi kemunculan dari masing-masing simbol yang digunakan dalam file tersebut dan kemudian mengkodekannya dalam bentuk biner[1].
Pertama-tama buat tabel frekuensi dari semua simbol atau karakter yang muncul dalam suatu file text. Kemudian diurutkan mulai dari simbol dengan frekuensi paling sedikit sampai simbol dengan frekuensi paling banyak. Pembentukan huffman tree dimulai dari dua simbol paling depan untuk dijadikan anak kiri dan anak kanan dari tree yang terbentuk dan frekuensinya dijumlahkan. Setelah itu diurutkan kembali berdasarkan frekuensi yang baru. Demikian dilakukan terus menerus sampai semua simbol terbentuk menjadi tree[3].
Dengan algoritma di atas maka terbentuklah suatu tree yang menyimpan simbol – simbol sedemikian rupa sehingga simbol dengan frekuensi kemunculan paling banyak akan ditempatkan di kedalaman yang paling dangkal, sedangkan simbol-simbol dengan frekuensi kemunculan paling sedikit akan ditempatkan di kedalaman yang paling dalam. Setelah proses pembuatan tree selesai maka tree siap digunakan untuk membentuk kode.
Dari cara kerja metode ini, maka dibutuhkan tree untuk membaca kembali (encode). Oleh karena itu maka tree hasil proses huffman harus disimpan dalam file kompresi. Jika file yang dikompresi ukurannya kecil, maka tidak banyak bit yang dihemat. Semakin besar ukuran file maka semakin banyak bit yang berhasil dihemat. Tetapi karena harus menyimpan huffman tree yang dihasilkan maka jika ukuran file yang dikompresi kecil maka file hasil kompresi bisa jadi bukannya semakin kecil tetapi malah semakin besar. Selain itu jika variasi huruf dalam file yang akan dikompresi sangat banyak, maka ada kemungkinan tree yang terbentuk sangat dalam dan code yang dihasilkan ukurannya sama dengan ukuran satu karakter. Jika hal ini terjadi maka file hasil kompresi bukannya lebih kecil malah menjadi lebih besar. Kedua dugaan ini akan dibuktikan dengan aplikasi yang dibuat.
Dasar pemikiran algoritma ini adalah bahwa setiap karakter ASCII biasanya diwakili oleh 8 bits. Jadi misalnya suatu file berisi deretan karakter “ABACAD” maka ukuran file tersebut adalah 6 x 8 bits = 48 bit atau 6 bytes. Jika setiap karakter tersebut di beri kode lain misalnya A=1, B=00, C=010, dan D=011, berarti kita hanya perlu file dengan ukuran 11 bits (10010101011), yang perlu diperhatikan ialah bahwa kode-kode tersebut harus unik atau dengan kata lain suatu kode tidak dapat dibentuk dari kode-kode yang lain. Pada contoh diatas jika kode D kita ganti dengan 001, maka kode tersebut dapat dibentuk dari kode B ditambah dengan kode A yaitu 00 dan 1, tapi kode 011 tidak dapat dibentuk dari kode-kode yang lain. Selain itu karakter yang paling sering muncul, kodenya diusahakan lebih kecil jumlah bitnya dibandingkan dengan karakter yang jarang muncul. Pada contoh di atas karakter A lebih sering muncul (3 kali), jadi kodenya dibuat lebih kecil jumlah bitnya dibanding karakter lain.
Untuk menetukan kode-kode dengan kriteria bahwa kode harus unik dan karakter yang sering muncul dibuat kecil jumlah bitnya, kita dapat menggunakan algoritma Huffman.
Sebagai contoh, sebuah file yang akan dimampatkan berisi karakter-karakter “PERKARA”. Dalam kode ASCII masing-masing karakter dikodekan sebagai :
P = 50H  =  01010000B
E = 45H  =  01000101B
R = 52H  =  01010010B
K = 4BH  =  01001011B
A = 41H    =  01000001B
Maka jika diubah dalam rangkaian bit, “PERKARA” menjadi :
01010000010001010101001001001011010000010101001001000001
      P         E         R          K          A          R          A
yang berukuran 56 bit.
Tugas kita yang pertama adalah  menghitung frekuensi kemunculan masing-masing karakter, jika kita hitung ternyata P muncul sebanyak 1 kali, E sebanyak 1 kali, R sebanyak 2 kali, K sebanyak 1 kali dan A sebanyak 2 kali. Jika disusun dari yang kecil :
E = 1
K = 1
P = 1
A = 2
R = 2
Untuk karakter yang memiliki frekuensi kemunculan sama seperti E, K dan P disusun menurut kode ASCII-nya, begitu pula untuk A dan R.
Selanjutnya buatlah node masing-masing karakter beserta frekuensinya sebagai berikut :
Ambil 2 node yang paling kiri (P dan E), lalu buat node baru yang merupakan gabungan dua node tersebut, node gabungan ini akan memiliki cabang masing-masing 2 node yang digabungkan tersebut. Frekuensi dari node gabungan ini adalah jumlah frekuensi cabang-cabangnya. Jika kita gambarkan akan menjadi seperti berikut ini :
Jika kita lihat frekuensi tiap node pada level paling atas, EK=2, P=1, A=2, dan R=2. Node-node tersebut harus diurutkan lagi dari yang paling kecil, jadi node EK harus digeser ke sebelah kanan node P dan ingat jika menggeser suatu node yang memiliki cabang, maka seluruh cabangnya harus diikutkan juga. Setelah diuurutkan hasilnya akan menjadi sebagai berikut :
Setelah node pada level paling atas diurutkan (level berikutnya tidak perlu diurutkan), berikutnya kita gabungkan kembali 2 node paling kiri seperti yang pernah dikerjakan sebelumnya. Node P digabung dengan node EK menjadi node PEK dengan frekuensi 3 dan gambarnya akan menjadi seperti berikut ini :
Kemudian diurutkan lagi menjadi :
Demikian seterusnya sampai diperoleh pohon Huffman seperti gambar berikut ini :
Setelah pohon Huffman terbentuk, berikan tanda bit 0 untuk setiap cabang ke kiri dan bit 1 untuk setiap cabang ke kanan seperti gambar berikut :
Untuk mendapatkan kode Huffman masing-masing karakter, telusuri karakter tersebut dari node yang paling atas (PEKAR) sampai ke node karakter tersebut dan susunlah bit-bit yang dilaluinya.
Untuk mendapatkan kode Karakter E, dari node PEKAR kita harus menuju ke node PEK melalui bit 0 dan selanjutnya menuju ke node EK melalui bit 1, dilanjutkan ke node E melalui bit 0, jadi kode dari karakter E adalah 010.
Untuk mendapatkan kode Karakter K, dari node PEKAR kita harus menuju ke node PEK melalui bit 0 dan selanjutnya menuju ke node EK melalui bit 1, dilanjutkan ke node K melalui bit 1, jadi kode dari karakter K adalah 011.
Untuk mendapatkan kode Karakter P, dari node PEKAR kita harus menuju ke node PEK melalui bit 0 dan selanjutnya menuju ke node P melalui bit 0, jadi kode dari karakter P adalah 00.
Untuk mendapatkan kode Karakter A, dari node PEKAR kita harus menuju ke node AR melalui bit 1 dan selanjutnya menuju ke node A melalui bit 0, jadi kode dari karakter A adalah 10.
Terakhir, untuk mendapatkan kode Karakter R, dari node PEKAR kita harus menuju ke node AR melalui bit 1 dan selanjutnya menuju ke node R melalui bit 1, jadi kode dari karakter R adalah 11.
Hasil akhir kode Huffman dari file di atas adalah :
E =   010
K =   011
P =    00
A =   10
R =   11
Dengan kode ini, file yang berisi karakter-karakter “PERKARA” akan menjadi lebih kecil, yaitu :
00 010 11 011 10 11 10  =   16 bit
 P    E   R   K   A  R  A
Dengan Algoritma Huffman berarti file ini dapat kita hemat sebanyak 56-16 = 40 bit.
Untuk proses pengembalian ke file aslinya, kita harus mengacu kembali kepada kode Huffman yang telah dihasilkan, seperti contoh di atas hasil pemampatan adalah :
000101101100 1110
dengan Kode Huffman :
E =   010
K =   011
P =    00
A =   10
R =   11
Ambillah satu-persatu bit hasil pemampatan mulai dari kiri, jika bit tersebut termasuk dalam daftar kode, lakukan pengembalian, jika tidak ambil kembali bit selanjutnya dan jumlahkan bit tersebut. Bit pertama dari hasil pemampatan di atas adalah 0, karena 0 tidak termasuk dalam daftar kode kita ambil lagi bit kedua yaitu 0, lalu digabungkan menjadi 00, jika kita lihat daftar kode 00 adalah kode dari karakter P.
Selanjutnya bit ketiga diambil yaitu 0, karena 0 tidak terdapat dalam daftar kode, kita ambil lagi bit keempat yaitu 1 dan kita gabungkan menjadi 01. 01 juga tidak terdapat dalam daftar, jadi kita ambil kembali bit selanjutnya yaitu 0 dan digabungkan menjadi 010. 010 terdapat dalam daftar kode yaitu karakter E. Demikian selanjutnya dikerjakan sampai bit terakhir sehingga akan didapatkan hasil pengembalian yaitu PERKARA.
Supaya lebih jelas kita ambil contoh lain sebuah file yang berisi karakter-karakter “TERTUTUP”.
Pertama-tama kita hitung frekuensi kemunculan masing-masing karakter, jika kita hitung ternyata T muncul sebanyak 3 kali, E sebanyak 1 kali, R sebanyak 1 kali, U sebanyak 2 kali dan P sebanyak 1 kali. Jika disusun dari yang kecil (jika sama urutkan berdasarkan kode ASCII):
E = 1
P = 1
R = 1
U = 2
T = 3
Selanjutnya buatlah node masing-masing karakter beserta frekuensinya sebagai berikut :
Setelah dilakukan pembuatan pohon Huffman seperti yang sudah pernah kita lakukan, hasilnya akan menjadi seperti gambar berikut ini:
Dari pohon Huffman di atas, kita bisa membuat daftar kode untuk masing-masing karakter seperti berikut ini :
E = 1110
P = 1111
R = 110
U = 10
T = 0
Dengan kode ini file pemampatan menjadi berisi :
011101100100101111 =  18 bit
Bandingkan file aslinya yang berukuran 64 bit.
Sekarang coba anda kerjakan sendiri untuk mendapatkan file hasil pemampatan dengan algoritma Huffman dari file yang berisi karakter-karakter “PEMAMPATAN”. Kerjakanlah dengan tahap-tahap berikut :
1.      Hitung frekuensi kemunculan masing-masing karakter.
2.      Susun berdasakan jumlah frekuensi dari yang kecil, jika sama lihat kode ASCII-nya.
3.      Gambarkan pohon Huffman dari karakter-karakter tersebut.
4.      Buat daftar Kode Huffman dari pohon Huffman.
5.      Kodekan setiap karakter dalam file asli berdasarkan Kode Huffman secara berurutan.
Jika anda lakukan dengan benar, maka daftar kode yang didapatkan adalah :
E = 1010
N =            1011
T = 100
M = 00
P = 01
A =            11
Sehingga file pemampatannya menjadi :
0110100011000111100111011 = 25 bit.

 

Mencatat Pengulangan

Sebagian besar tipe file digital mengundang 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 menduplikasinya 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 kepada negara,” (terjemahan kutipan dari Presiden AS, John F. Kennedy). Kutipan yang terdiri dari 74 karakter, 14 spasi, dan 2 titik.

Jika setiap huruf, spasi, dan tanya baca mengambul 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” muncuk 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 diatas 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.

Algoritma Pengulangan

Kebanyakan apllikasi 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 diatas, 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 merekontruksinya kembali ke ukuran semula. “Jangan 1 2 3 4 5 6 7. 1 2 37 5 6 4,” ditambah daftar katadalam katalog, tentu lebih pendek daripada “Jangan tanya apa yang negara berikan pada anda. Tanya apa yang anda berikan pada negara.” Dari contoh diatas, kita berhasil memampatkan kutipan JFK dar 93 unit menjadi 36 unit untuk katalog, atau total 90 unit. Ya, kita berhasil menghemat 3 uit! Namun, seperti kata pepatah, “sedikit demi sedikit, lama-lama menjadi bukit,” proses kompresi file di komputer mengumpulkan yang sedikit itu, nmun dalam jumlah yang besar.

Menemukan Pola

Dari contoh diatas, kirta mengambil semua kata yang digunakan berulang dan meletakkannya di dalam sebuah katalog, bagi kita, ini adalah cara yang paling lazim digunakan untuk menulis kamus, idex, atay 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 diatas dari sudut pandang ini, kita akan mendapatkan isi katalog yang benar-benar berbeda dari contoh diatas. Aplikasi kompresi memindai kutipan JFK, pengulangan pertama yang dicatat adalah pola huruf “a” dan “n” yang diikuti oleh spasi

Pada frase pertama kutipan tersebut, “jangan tanya apa yang negara berikan pada Anda.” Terdapat 4 pola huruf “a” yang diikuti spasi. Dua pola penggabungan 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 memanfaatkan sebuah file hingga 90% bahkan lebih, terutama pada sebuah file yang memiliki banya pola yang berulang, misalkan pada file-file yang didalamnya terdapat tag (HTML, XML, TIFF, dan lainlain).

Kenapa jika melakukan kompresi pada file tipe multimedia seperti gambar/image ataupun video, hasilnya tidak begitu terlihat. Hal ini dikarenakan pada gambar tersebut tidak ada ruang pengulangan (padat). Lain halnya dengan file bertipe text, akan lebih mudah dalam proses pengkompresannya.