Monthly Archives: June 2014

PENGERTIAN, PRINSIP-PRINSIP, DAN PERBEDAAN ANIMASI.

A.   Pengertian Animasi

Animasi sendiri berasal dari bahasa latin yaitu “anima” yang berarti jiwa, hidup, semangat. Sedangkan karakter adalah orang, hewan maupun objek nyata lainnya yang dituangkan dalam bentuk gambar 2D maupun 3D. shingga karakter animasi secara dapat diartikan sebagai gambar yang memuat objek yang seolah-olah hidup, disebabkan oleh kumpulan gambar itu berubah beraturan dan bergantian ditampilkan. Objek dalam gambar bisa berupa tulisan, bentuk benda, warna dan spesial efek.

Pengertian Animasi Menurut Ibiz Fernandes dalam bukunya Macromedia Flash Animation & Cartooning: A creative Guide, animasi definisikan sebagai berikut :

“Animation is the process of recording and playing back a sequence of stillto achieve the illusion of continues motion” ( Ibiz Fernandez McGraw– Hill/Osborn, California, 2002)

Yang artinya kurang lebih adalah :

“Animasi adalah sebuah proses merekam dan memainkan kembali serangkaian gambar statis untuk mendapatkan sebuah ilusi pergerakan.” Berdasarkan arti harfiah, Animasi adalah menghidupkan. Yaitu usaha untuk menggerakkan sesuatu yang tidak bisa bergerak sendiri.

Secara garis besar, animasi computer dibagi menjadi dua kategori, yaitu:

a. Computer Assisted Animation, animasi pada kategori ini biasanya menunjuk pada system animasi 2 dimensi, yaitu mengkomputerisasi proses animasi tradisional yang menggunakan gambaran tangan. Computer digunakan untuk pewarnaan, penerapan virtual kamera dan penataan data yang digunakan dalam sebuah animasi.

b. Computer Generated Animation, pada kategori ini biasanya digunakan untuk animasi 3 dimensi dengan program 3D seperti 3D Studio Max, Maya, Autocad dll.

Animasi merupakan salah satu bentuk visual bergerak yang dapat dimanfaatkan untuk menjelaskan materi pelajaran yang sulit disampaikan secara konvensional. Dengan diintergrasikan ke media lain seperti video, presentasi, atau sebagai bahan ajar tersendiri animasi cocok untuk menjelaskan materi-materi pelajaran yang secara langsung sulit dihadirkan di kelas atau disampaikan dalam bentuk buku. Sebagai misal proses bekerjanya mesin mobil atau proses terjadinya tsunami.

 

 

B.   Pengertian Multimedia

Menurut Rosch definisi animasi adalah kombinasi dari computer dan video, menurut McCornick multimedia secara umum merupakan kombinasi tiga elemen, yaitu suara, gambar dan teks. Menurut Turban, dkk multimedia adalah kombinasi dari paling sedikit dua media input atau output dari data, media ini berupa audio (suara, musik), animasi, video, teks, grafik, dan gambar. Menurut Robin dan Linda multimedia merupakan alat yang dapat menciptakan presentasi yang dinamis dan interaktif yang mengkombinasikan teks, grafik, animasi, audio, dan gambar video. Definisi lain dari multimedia yaitu dengan menempatkan dalam konteks seperti yang dilakukan Hofstetter, multimedia adalah pemanfaatan computer untuk membuat dan menggabungkan teks, grafik, audio, gambar bergerak (video dan animasi) dengan menggabungkan link dan tools yang memungkinkan navigasi, berinteraksi, berkreasi, dan berkomunikasi.

 

C.   Prinsip Dasar Animasi

Animasi berasal dari kata ”Animation” yang dalam bahasa Inggris ”to animate” yang berarti menggerakan.

Jadi animasi dapat diartikan sebagai menggerakan sesuatu (gambar atau obyek) yang diam.

Sejarah animasi dimulai dari jaman purba, dengan ditemukannya lukisan-lukisan pada dinding goa di Spanyol yang menggambarkan  ”gerak” dari binatang-binatang. Pada 4000 tahun yang lalu bangsa Mesir juga mencoba menghidupkan suatu peristiwa dengan gambar-gambar yang dibuat berurutan pada dinding.

Sejak menyadari bahwa gambar bisa dipakai sebagai alternatif media komunikasi, timbul keinginan menghidupkan lambang-lambang tersebut menjadi cermin ekspresi kebudayaan. Terbukti dengan diketemukannya berbagai artefak pada peradapan Mesir Kuno 2000 sebelum masehi. Salah satunya adalah beberapa panel yang menggambarkan aksi dua pegulat dalam berbagai pose.

Animasi sendiri tidak akan pernah berkembang tanpa ditemukannya prinsip dasar dari karakter mata manusia yaitu: persistance of vision (pola penglihatan yang teratur). Paul Roget, Joseph Plateau dan Pierre Desvigenes, melalui peralatan optic yang mereka ciptakan, berhasil membuktikan bahwa mata manusia cenderung menangkap urutan gambar-gambar pada tenggang waktu tertentu sebagai suatu pola. Dalam perkembangannya animasi secara umum bisa didefinisikan sebagai:

Suatu sequence gambar yang diekspos pada tenggang waktu tertentu sehingga tercipta sebuah ilusi gambar bergerak

a.    Jenis-Jenis Animasi

Dilihat dari tehnik pembuatannya animasi yang ada saat ini dapat dikategorikan menjadi 3, yaitu:

1.             Animasi Stop-motion (Stop Motion Animation)

2.             Animasi Tradisional (Traditional animation)

3.             Animasi Komputer (Computer Graphics Animation)

 

1.    Stop-motion animation

Stop-motion animation sering pula disebut claymation karena dalam perkembangannya, jenis animasi ini sering menggunakan clay (tanah liat) sebagai objek yang digerakkan .Tehnik stop-motion animation merupakan animasi yang dihasilkan dari penggambilan gambar berupa obyek (boneka atau yang lainnya) yang digerakkan setahap demi setahap. Dalam pengerjaannya teknik ini memiliki tingkat kesulitan  dan memerlukan kesabaran yang tinggi.

Wallace and Gromit dan Chicken Run , karya Nick Parks,  merupakan  salah satu contoh karya stop motion animation. Contoh lainnya adalah Celebrity Deadmatch di MTV yang menyajikan adegan perkelahian antara berbagai selebriti dunia.

2.    Animasi Tradisional (Traditional animation)

Tradisional animasi adalah tehnik animasi yang paling umum dikenal sampai saat ini. Dinamakan tradisional karena tehnik animasi inilah yang digunakan pada saat animasi pertama kali dikembangkan. Tradisional animasi juga sering disebut cel animation karena tehnik pengerjaannya dilakukan pada celluloid transparent yang sekilas mirip sekali dengan transparansi OHP yang sering kita gunakan. Pada pembuatan animasi tradisional, setiap tahap gerakan digambar satu persatu di atas cel.

Dengan berkembangnya teknologi komputer, pembuatan animasi tradisional ini telah dikerjakan dengan menggunakan komputer. Dewasa ini teknik pembuatan animasi tradisional yang dibuat dengan menggunakan komputer lebih dikenal dengan istilah animasi 2 Dimensi.

3.    Animasi Komputer

Sesuai dengan namanya, animasi ini secara keseluruhan dikerjakan dengan menggunakan komputer. Dari pembuatan karakter, mengatur gerakkan  “pemain” dan kamera, pemberian suara, serta special effeknya semuanya di kerjakan dengan komputer.

Dengan animasi komputer, hal-hal yang awalnya tidak mungkin digambarkan dengan animasi menjadi mungkin dan lebih mudah. Sebagai contoh perjalanan wahana ruang angkasa ke suatu planet dapat digambarkan secara jelas, atau proses terjadinya tsunami.

Perkembangan teknologi komputer saat ini, memungkinkan orang dengan mudah membuat animasi. Animasi yang dihasilkan tergantung keahlian yang dimiliki dan software yang digunakan.

b.    Software Animasi

Saat ini terdapat banyak jenis software animasi yang beredar di pasaran, dari software yang mempunyai kemampuan yang sederhana hingga yang komplek, dari yang gratis hingga puluhan juta rupiah.

Dari sisi fungsi penggunaan software animasi dapat dikelompokkan menjadi Software Animasi 2 Dimensi dan Software Animasi 3 Dimensi.

1.    Software Animasi 2 Dimensi.

Software animasi 2D adalah software yang digunakan untuk membuat animasi tradisional (flat animation), umumnya mempunyai kemampuan untuk menggambar, mengatur gerak, mengatur waktu, beberapa dapat mengimpor suara. Dari sisi penggunaan umumnya tidak sulit.

Contoh dari Software Animasi 2D ini antara lain:

  • Macromedia Flash
  • Adobe Flash
  • Macromedia Director
  • ToonBoom Studio
  • Adobe ImageReady
  • Corel RaVe
  • Swish Max
  • Adobe After Effect

2.    Software Animasi 3 Dimensi

Software animasi 3D mempunyai fasilitas dan kemampuan yang canggih untuk membuat animasi 3 dimensi. Fasilitas dan kemampuan tersebut antara lain, membuat obyek 3D, pengaturan gerak kamera, pemberian efek, import video dan suara, serta masih banyak lagi. Beberapa software animasi 3D mempunyai kemampuan khusus, misalnya untuk animasi figure(manusia), animasi landscape (pemandangan), animasi title (judul), dll. Karena kemampuannya yang canggih, dalam penggunaannya diperlukan pengetahuan yang cukup tinggi dan terkadang rumit.

Contoh dari Software Animasi 3D ini antara lain:

  • 3D Studio Max
  • Maya
  • Poser (figure animation)
  • Bryce (landscape animation)
  • Vue (landscape animation)
  • Cinema 4D
  • Blender (gratis)
  • Daz3D (gratis)

 

12 Prinsip Utama pada Animasi

Kata “animasi” berasal dari kata “animate,” yang berarti untuk membuat obyek mati menjadi seperti hidup. Seorang Animator profesional sepertinya harus mengetahui dan memahami bagaimana sebuah animasi dibuat sedemikian rupa sehingga didapatkan hasil animasi yang menarik, dinamis dan tidak membosankan

Dibawah ini merupakan 12 Prinsip/Syarat Animasi agar animasi terlihat seperti nyata :

1. Timing (Waktu)

1

Ini menentukan apakah gerakan tersebut alami atau tidak. Misalkan gerakan orang berjalan terlalu lambat, sedangkan latar belakang terlalu cepat bergerak. Atau bola yang memantul ke tanah, tetapi sebelum memantul, efek suara pantulan sudah terdengar lebih dahulu. Jadi timing ini lebih kepada sinkronisasi antara elemen-elemen animasi.
Grim Natwick, seorang animator Disney pernah berkata, “Animasi adalah tentang timing dan spacing”. Timing adalah tentang menentukan waktu kapan sebuah gerakan harus dilakukan, sementara spacing adalah tentang menentukan percepatan dan perlambatan dari bermacam-macam jenis gerak.

Contoh Timing: Menentukan pada detik keberapa sebuah obyek/karakter berjalan sampai ke tujuan atau berhenti.

Contoh Spacing: Menentukan kepadatan gambar (yang pada animasi akan berpengaruh pada kecepatan gerak)

2. Ease In dan Ease Out (Percepatan dan Perlambatan)

Prinsip ini juga paling banyak digunakan dalam animasi. Ketika bola di lempar ke atas, gerakan tersebut harus semakin lambat. Dan bola jatuh akan semaking cepat. Atau ketika mobil berhenti, pemberhentian tersebut harus secara perlahan-lahan melambat, tidak bisa langsung berhenti.

Slow In dan Slow Out menegaskan bahwa setiap gerakan memiliki percepatan dan perlambatan yang berbeda-beda. Slow in terjadi jika sebuah gerakan diawali secara lambat kemudian menjadi cepat. Slow out terjadi jika sebuah gerakan yang relatif cepat kemudian melambat. Contoh Slow In :

2

3. Arcs (Lengkungan)

3

Banyak hal tidak bergerak secara garis lurus. Bola saja dilempar tidak akan pernah lurus, pasti ada sedikit pergeseran. Jadi usahakan gerakan objek anda tidak sempurna, agak “dirusak” sedikit sehingga terlihat alami.

Pada animasi, sistem pergerakan tubuh pada manusia, binatang, atau makhluk hidup lainnya bergerak mengikuti pola/jalur (maya) yang disebut Arcs. Hal ini memungkinkan mereka bergerak secara ‘smooth’ dan lebih realistik, karena pergerakan mereka mengikuti suatu pola yang berbentuk lengkung (termasuk lingkaran, elips, atau parabola). Sebagai contoh, Arcs ditunjukkan pada lintasan tangan saat melempar bola dan lintasan gerak bola di udara.

4. Follow Through and Overlapping Action (Gerakan penutup sebelum benar-benar diam)

4

Follow through adalah tentang bagian tubuh tertentu yang tetap bergerak meskipun seseorang telah berhenti bergerak. Misalnya, rambut yang tetap bergerak sesaat setelah melompat. Overlapping action secara mudah bisa dianggap sebagai gerakan saling-silang. Maksudnya, adalah serangkaian gerakan yang saling mendahului (overlapping).

Contoh : Kelinci yang melompat. Sesaat setelah melompat telinganya masih bergerak-gerak meskipun gerakan utama melompat telah dilakukan

Prinsip ini ingin menggambarkan prilaku karakter sebelum menyelesaikan suatu tindakan. Misalkan saat seseorang melempar bola, gerakan setelah melempar bola (Follow Through) tersebut adalah menunjukkan mimik muka senang karena puas telah melempar bola. Kemudian yang disebut Overlapping action adalah gerakan baju atau rambut yang bergerak akibat gerakan tersebut.

Jadi animasi bukan sekedar asal bergerak, tetapi membuatnya hidup dengan hal-hal detail seperti ini. Banyak yang sangat detail bisa menggambar karakter, tetapi banyak yang gagal dalam menganimasikan karena karakter yang digambar terlalu rumit untuk dianimasikan.

5. Secondary Action (Gerakan Pelengkap)

Ini bukanlah gerakan yang sebenarnya, misalkan saat di ruang tunggu dokter, ada tokoh utama yang sedang membaca, tetapi di latar belakang ada pemeran pendukung seperti orang merokok, sedang mengobrol atau apapun yang membuatnya terlihat alami.

Secondary action adalah gerakan-gerakan tambahan yang dimaksudkan untuk memperkuat gerakan utama supaya sebuah animasi tampak lebih realistik. Secondary action tidak dimaksudkan untuk menjadi ‘pusat perhatian’ sehingga mengaburkan atau mengalihkan perhatian dari gerakan utama. Kemunculannya lebih berfungsi memberikan emphasizeuntuk memperkuat gerakan utama.

Contoh: Ketika seseorang sedang berjalan, gerakan utamanya tentu adalah melangkahkan kaki sebagaimana berjalan seharusnya. Namun sambil berjalan ‘seorang’ figur atau karakter animasi dapat sambil mengayun-ayunkan tangannya. Gerakan mengayun-ayunkan tangan inilah yang disebut secondary action untuk gerakan berjalan

6. Squash and Strecth (Kelenturan suatu objek)

6

Bola yang ketika jatuh agak sedikit gepeng menunjukkan kelenturan bola tersebut. Atau ketika orang melompat dan jatuh, kakinya agak sedikit lentur.

Squash and strecth adalah upaya penambahan efek lentur (plastis) pada objek atau figur sehingga seolah-olah ‘memuai’ atau ‘menyusut’ sehingga memberikan efek gerak yang lebih hidup. Penerapan squash and stretch pada figur atau benda hidup (misal: manusia, binatang, creatures) akan memberikan ‘enhancement’ sekaligus efek dinamis terhadap gerakan/action tertentu, sementara pada benda mati (misal : gelas, meja, botol) penerapan squash and stretch akan membuat mereka (benda-benda mati tersebut) tampak atau berlaku seperti benda hidup.

Contoh ketika sebuah bola dilemparkan. Pada saat bola menyentuh tanah maka dibuat seolah-olah bola yang semula bentuknya bulat sempurna menjadi sedikit lonjong horizontal, meskipun kenyataannya keadaan bola tidak selalu demikian. Hal ini memberikan efek pergerakan yang lebih dinamis dan ‘hidup’

7. Exaggeration (Melebih-lebihkan)

7

Animasi bisa dilebih-lebihkan dengan musik, latar belakang atau gambar. Orang digambarkan dengan mata besar yang menunjukkan keterkejutan. Ini bisa kita lihat di film-film kartun jepang, bagaimana orang berlari tetapi ada gambar seekor elang besar sebagai latarnya untuk menunjukkan kecepatan lari orang tersebut.

Exaggeration merupakan upaya mendramatisir animasi dalam bentuk rekayasa gambar yang bersifat hiperbolis. Dibuat sedemikian rupa sehingga terlihat sebagai bentuk ekstrimitas ekspresi tertentu dan biasanya digunakan untuk keperluan komedik. Seringkali ditemui pada film-film animasi anak-anak (segala usia) seperti Tom & Jery, Donald Duck, Mickey Mouse, Sinchan, dsb.

Contoh : Tubuh Donald duck melayang mengikuti sumber asap saat hidung Donald cuck mencium aroma masakan/makanan lezat.

8. Straight Ahead and Pose to Pose

8

Prinsip Straight-ahead mengacu kepada teknik pembuatannya, yaitu dengan teknik frame by frame, digambar satu per satu. Walt Disney yang mempunyai ratusan animator dari berbagai mancanegara menggunakan teknik ini sehingga animasi terlihat sangat halus dan detail. Bagi Anda yang mempunyai dana terbatas jangan coba-coba menggunakan teknik ini karena pengerjaannya akan lama dan butuh tenaga animator yang banyak. Ujung-ujungnya dana bisa habis sebelum film animasi selesai dikerjakan.

Pose to pose menggunakan teknik keyframe, seperti tween motion di flash. Ini cocok untuk mereka yang dananya terbatas dan butuh pengerjaan cepat. Tetapi ingat, karakter yang dibuat jangan terlalu detail dan rumit karena akan menyulitkan pengerjaan animasi. Sederhana saja sehingga karakter tersebut mudah digerakkan. Animasi jepang paling banyak menggunakan teknik ini seperti Sinchan dan The Powerpuff Girls.

Dari sisi resource dan pengerjaan, ada dua cara yang bisa dilakukan untuk membuat animasi. Yang pertama adalah Straight Ahead Action, yaitu membuat animasi dengan cara seorang animator menggambar satu per satu, frame by frame dari awal sampai selesai seorang diri. Teknik ini memiliki kelebihan: kualitas gambar yang konsisten karena dikerjakan oleh satu orang saja. Tetapi memiliki kekurangan yaitu waktu pengerjaan yang lama

Yang kedua adalah Pose to Pose, yaitu pembuatan animasi oleh seorang animator dengan cara menggambar hanya pada keyframe-keyframe tertentu saja, selanjutnya in-between atau interval antar keyframe digambar/dilanjutkan oleh asisten/animator lain. Cara kedua ini memiliki waktu pengerjaan lebih cepat karena melibatkan lebih banyak sumber daya sehingga lebih cocok diterapkan pada industri animasi

9. Anticipation ( Gerakan Pendahulu )

9

Anticipation boleh juga dianggap sebagai persiapan/awalan gerak atau ancang-ancang.Seseorang yang bangkit dari duduk harus membungkukkan badannya terlebih dahulu sebelum benar-benar berdiri. Pada gerakan melompat, seseorang yang tadinya berdiri harus ada gerakan ‘membungkuk’ terlebih dulu sebelum akhirnya melompat.

Gerakan ini bertujuan untuk menjelaskan gerakan utama. Misalkan gerakan utama adalah orang terpeleset dan jatuh ke kolam renang. Sebelum itu, ada elemen-elemen yang ditunjukkan sebelum itu seperti ada kulit pisang di lantai, kemudian ada gerakan air di kolam renang, orang berjalan dengan mimik cuek. Gerakan-gerakan antisipasi bertujuan agar penonton memahami apa yang akan terjadi berikutnya. Jadi tidak langsung membuat orang tersebut jatuh ke kolam renang tanpa penonton tahu apa penyebabnya.

Ini yang kadang dilupakan oleh orang, jadi seakan-akan penonton mengerti jalan pikiran sang animator. Oleh karena itu, film animasi yang dibuat banyak keganjilan dan keanehan karena kurang pahamnya animator dengan prinsip ini.

10. Staging (Bidang Gambar)

10

Staging dalam animasi meliputi bagaimana ‘lingkungan’ dibuat untuk mendukung suasana atau ‘mood’ yang ingin dicapai dalam sebagian atau keseluruhan scene. Biasanya berkaitan dengan posisi kamera pengambilan gambar. Posisi kamera bawah membuat karakter terlihat besar dan menakutkan, kamera atas membuat karakter tampak kecil dan bingung sedangkan posisi kamera samping membuat karakter tampak lebih dinamis dan menarik

Staging adalah sudut pengambilan gambar seperti memperbesar muka tokoh untuk memperlihatkan kesedihannya, mengambil dari jarak jauh untuk memperlihatkan kemewahan suatu rumah, mengambil dari atas untuk memberi kesan ada seseorang yang mengintip, dan sebagainya.

11. Personality (Penjiwaan Karakter)

11

Membuat sedetail mungkin kepribadian seorang tokoh misalkan tanggal lahir, hobi, sifat baik dan jahat. Penjiwaan karakter akan membuat penonton mengenali karakter tersebut.

12. Appeal (Daya Tarik Karakter)

Appeal berkaitan dengan keseluruhan look atau gaya visual dalam animasi. Kita bisa dengan mudah mengidentifikasi gaya animasi buatan Jepang dengan hanya melihatnya sekilas. Kita juga bisa melihat style animasi buatan Disney atau Dreamworks cukup dengan melihatnya beberapa saat. Hal ini karena mereka memiliki appeal atau gaya tersendiri dalam pembuatan karakter animasi.

Ada juga yang berpendapat bahwa appeal adalah tentang penokohan, berkorelasi dengan ‘kharisma’ seorang tokoh atau karakter dalam animasi. Sehingga visualisasi animasi yang ada bisa mewakili karakter/sifat yang dimilkiki.

Daya tarik karakter tersebut harus bisa mempengaruhi emosi penonton. Misalkan tampangnya yang bodoh sehingga membuat penonton tertawa atau tampang yang tak berdosa sehingga membuat penonton merasa kasihan.

Jadi ada 12 prinsip animasi yang perlu diketahui oleh animator sehingga kita tidak membuat animasi asal jadi, asal bergerak.

Ke-12 prinsip animasi diatas sering digunakan dalam teknik animasi stop motion dan dalam penerapannya tentu lebih tergantung pada sang animator. Semakin profesional seorang animator dalam menguasai, mengoptimalkan dan mengeksplorasi kemampuan dirinya dalam membuat animasi secara keseluruhan, tentunya ide cerita akan selalu menarik dan menghasilkan sebuah film animasi yang sangat dinamis dan tidak membosankan bahkan untuk kalangan yang bukan merupakan target utama pengguna.

Perbedaan antara Cell Animation dan Digital Animation

1. Cell Animation

Kata “cell” berasal dari kata “celluloid”, yang merupakan material yang digunakan untuk membuat film gambar bergerak. Sekarang, material film dibuat dari asetat (acetate), bukan celluloid. Celluloid yang sebenarnya terdiri dari selulosa nitrat dan kapur barus yang digunakan pertama kali pada pertengahan abad ke 20, tapi karena mudah terbakar dan dimensi yang tidak stabil lalu digantikan oleh selulosa asetat. Potongan animasi dibuat pada sebuah potongan asetat atau sel (cell). Disebut cell animation karena teknik pembuatannya dilakukan pada celluloid transparent. Sel animasi biasanya merupakan lembaran-lembaran yang membentuk sebuah frame animasi tunggal.

Sel animasi merupakan sel yang terpisah dari lembaran latar belakang dan sebuah sel untuk masing-masing obyek yang bergerak secara mandiri di atas latar belakang. Lembaran-lembaran ini memungkinkan animator untuk memisahkan dan menggambar kembali bagian-bagian gambar yang berubah antara frame yang berurutan.

Sebuah frame terdiri dari sel latar belakang dan sel di atasnya. Misalnya seorang animator ingin membuat karakter yang berjalan, pertama-tama dia menggambar lembaran latar belakang, kemudian membuat karakter akan berjalan pada lembaran berikutnya, selanjutnya membuat membuat karakter ketika kaki diangkat dan akhirnya membuat karakter kaki dilangkahkan. Di antara lembaran-lembaran (frame-frame) dapat disipi efek animasi agar karakter berjalan itu mulus. Frame-frame yang digunakan untuk menyisipi celah-celah tersebut disebut keyframe. Selain dengan keyframe   proses animasi sel dengan layering dan tweening dapat dibuat dengan animasi computer.

Disebut Cell Animation karena teknik pembuatannya dilakukan pada celluloid transparent.

2. Digital animation

Digital animation adalah animasi karakter imajinasi yang dibuat dari hasil proses kerja komputer. Sebelum menggunakan komputer, animasi diselesaikan dengan membuat film dari gambar tangan atau urutan-urutan gambar di atas plastik atau kertas (yang disebut dengan cels), satu frame untuk 1/60 detik. Komputer pertama kali digunakan untuk mengontrol pergerakan dari karakter.

Digital animation dapat juga membuat special effects dan simulasi gambar yang hampir tidak mungkin dilakukan dengan tanpa animasi, seperti memberikan penjelasan mengenai suatu hal yang sulit, contoh animasi solar flare pada matahari. Digital animation juga dapat digunakan untuk merekonstruksi ulang suatu kejadian.

Animasi Digital juga merupakan representasi dari data geometrik 3 dimensi sebagai hasil dari pemrosesan dan pemberian efek cahaya terhadap grafika komputer 2D. Hasil ini kadang kala ditampilkan secara waktu nyata (real time) untuk keperluan simulasi. Secara umum prinsip yang dipakai adalah mirip dengan grafika komputer 2D, dalam hal: penggunaan algoritma, grafika vektor, model frame kawat (wire frame model), dan grafika rasternya.

Grafika komputer 3D sering disebut sebagai model 3D. Namun, model 3D ini lebih menekankan pada representasi matematis untuk objek 3 dimensi. Data matematis ini belum bisa dikatakan sebagai gambar grafis hingga saat ditampilkan secara visual pada layar komputer atau printer. Proses penampilan suatu model matematis ke bentuk citra 2D biasanya dikenal dengan proses 3D rendering.

 

 

 

KOMPRESI TEKS, MENGGUNAKAN ALGORITMA HUFFMAN

KOMPRESI TEKS, MENGGUNAKAN ALGORITMA HUFFMAN

Algoritma Huffman adalah salah satu algoritma kompresi. Algoritma huffman merupakan algoritma yang paling terkenal untuk mengompres teks. Terdapat tiga fase dalam menggunakan algoritma Huffman untuk mengompres sebuah teks, pertama adalah fase pembentukan pohon Huffman, kedua fase encoding dan ketiga fase decoding. Prinsip yang digunakan oleh algoritma Huffman adalah karakter yang sering muncul di –encoding dengan rangkaian bit yang pendek dan karakter yang jarang muncul di-encoding dengan rangkaian bit yang lebih panjang. Teknik kompresi algoritma Huffman mampu memberikan penghematan pemakaian memori sampai 30%. Algoritma Huffman mempunyai kompleksitas O(n log n) untuk himpunan dengan n karakter.

Kata kunci: algoritma Huffman, pohon Huffman, encoding , decoding

 

Pendahuluan

Teks adalah kumpulan dari karakter –karakter atau string yang menjadi satu kesatun. Teks yang memuat banyak karakter didalamnya selalu menimbulkan masalah pada media penyimpanan dan kecepatan waktu pada saat transmisi data. Media penyimpanan yang terbatas, membuat semua orang mencoba berpikir untuk menemukan sebuah cara yang dapat digunakan untuk mengompres teks. Walaupun pada saat ini terdapat banyak algoritma untuk mengompres data termasuk teks, seperti LIFO, LZHUF, LZ77 dan variannya (LZ78, LZW, GZIP), Dynamic Markov Compression (DMC), Block -Sorting Lossless, Run-Length, Shannon-Fano, Arithmetic, PPM (Prediction byPartial Matching), Burrows-Wheeler Block Sorting, dan Half Byte. Namun penulis menggunakan algoritma Huffman, karena algoritma ini banyak digunakan dan mudah diimplementasikan dalam proses pengompresan teks.

Kompresi adalah proses pengubahan sekumpulan data menjadi bentuk kode dengan tujuan untuk menghemat kebutuhan tempat penyimpanan dan waktu untuk transmisi data[1]. Dengan menggunakan algoritma Huffman, proses pengompresan teks dilakukan dengan menggunakan prinsip pengkodean, yaitu tiap karakter dikodekan dengan rangkaian beberapa bit sehingga menghasilkan hasil yang lebih optimal. Untuk mencapai tujuan diatas penulis melakukan serangkaian kegiatan yaitu mengumpulkan data dan referensi-referensi yang ada, serta melakukan studi pustaka.

1.A.  Algoritma Huffman

Algoritma Huffman, yang dibuat oleh seorang mahasiswa MIT bernama David Huffman pada tahun 1952, merupakan salah satu metode paling lama dan paling terkenal dalam kompresi teks. Algoritma Huffman menggunakan prinsip pengkodean yang mirip dengan kode Morse, yaitu tiap karakter (simbol) dikodekan hanya dengan rangkaian beberapa bit, dimana karakter yang sering muncul dikodekan dengan rangkaian bit yang pendek dan karakter yang jarang muncul dikodekan.dengan rangkaian bit yang lebih panjang. Berdasarkan tipe peta kode yang digunakan untuk mengubah pesan awal (isi data yang diinputkan) menjadi sekumpulan codeword, algoritma Huffman termasuk kedalam kelas algoritma yang menggunakan metode statik . Metoda statik adalah metoda yang selalu menggunakan peta kode yang sama, metoda ini membutuhkan dua fase (two-pass): fase pertama untuk menghitung probabilitas kemunculan tiap simbol dan menentukan peta kodenya, dan fase kedua untuk mengubah pesan menjadi kumpulan kode yang akan di taransmisikan. Sedangkan berdasarkan teknik pengkodean simbol yang digunakan, algoritma Huffman menggunakan metode symbolwise. Metoda symbolwise adalah metode yang menghitung peluang kemunculan dari setiap simbol dalam satu waktu, dimana simbol yang lebih sering muncul diberi kode lebih pendek dibandingkan simbol yang jarang muncul.

 

1.A.1  Pembentukan Pohon Huffman

Kode Huffman pada dasarnya merupakan kode prefiks (prefix code). Kode prefiks adalah himpunan yang berisi sekumpulan kode biner, dimana pada kode prefik ini tidak ada kode biner yang menjadi awal bagi kode biner yang lain. Kode prefiks biasanya direpresentasikan sebagai pohon biner yang diberikan nilai atau label. Untuk cabang kiri pada pohon biner diberi label 0, sedangkan pada cabang kanan pada pohon biner diberi label 1. Rangkaian bit yang terbentuk pada setiap lintasan dari akar ke daun merupakan kode prefiks untuk karakter yang berpadanan. Pohon biner ini biasa disebut pohon Huffman.

Langkah-langkah pembentukan pohon Huffman adalah sebagai berikut [3] :

1. Baca semua karakter di dalam teks untuk menghitung frekuensi kemunculan setiap karakter. Setiap karakter penyusun teks dinyatakan sebagai pohon bersimpul tunggal. Setiap simpul di-assign dengan frekuensi kemunculan karakter tersebut.

2. Terapkan strategi algoritma greedy sebagai berikut : gabungkan dua buah pohon yang mempunyai frekuensi terkecil pada sebuah akar. Setelah digabungkan akar tersebut akan mempunyai frekuensi yang merupakan jumlah dari frekuensi dua buah pohon-pohon penyusunnya.

3. Ulangi langkah 2 sampai hanya tersisa satu buah pohon Huffman. Agar pemilihan dua pohon yang akan digabungkan berlangsung cepat, maka semua yang ada selalu terurut menaik berdasarkan frekuensi.

Sebagai contoh, dalam kode ASCII string 7 huruf “ABACCDA” membutuhkan representasi 7 × 8 bit = 56 bit (7 byte), dengan rincian sebagai berikut:

 

A = 01000001

B = 01000010

A = 01000001

C = 01000011

D = 01000100

A = 01000001

Pada string di atas, frekuensi kemunculan A = 3, B = 1, C = 2, dan D = 1,

 gambar 1

Gambar 1. Pohon H uffman untuk Karakter

“ABACCDA”

 

1.A.2 Proses Encoding

Encoding adalah cara menyusun string biner dari teks yang ada. Proses encoding untuk satu karakter dimulai dengan membuat pohon Huffman terlebih dahulu. Setelah itu, kode untuk satu karakter dibuat dengan menyusun nama string biner yang dibaca dari akar sampai ke daun pohon Huffman.

Langkah-langkah untuk men-encoding suatu string biner adalah sebagai berikut

1. Tentukan karakter yang akan di-encoding

2. Mulai dari akar, baca setiap bit yang ada pada cabang yang bersesuaian sampai ketemu daun dimana karakter itu berada

3. Ulangi langkah 2 sampai seluruh karakter diencoding

Sebagai contoh kita dapat melihat tabel dibawah ini, yang merupakan hasil encoding untuk pohon Huffman pada gambar 1

Karakter String Biner Huffman

A                     0

  B                     110

C                     10

  D                     111

Tabel 1. Kode Huffman untuk Karakter “ABCD”

 

1.A.3 Proses Decoding

Decoding merupakan kebalikan dari encoding. Decoding berarti menyusun kembali data dari string biner menjadi sebuah karakter kembali. Decoding dapat dilakukan dengan dua cara, yang pertama dengan menggunakan pohon Huffman dan yang kedua dengan menggunakan tabel kode Huffman.

Langkah-langkah men –decoding suatu string biner dengan menggunakan pohon Huffman adalah sebagai berikut :

1. Baca sebuah bit dari string biner.

2. Mulai dari akar

3. Untuk setiap bit pada langkah 1, lakukan traversal pada cabang yang bersesuaian.

4. Ulangi langkah 1, 2 dan 3 sampai bertemu daun. Kodekan rangkaian bit yang telah dibaca dengan karakter di daun.

5. Ulangi dari langkah 1 sampai semua bit di dalam string habis. Sebagai contoh kita akan men-decoding string biner yang bernilai ”111”

 gambar 2

Gambar 2. Proses Decoding dengan Menggunakan Pohon Huffman

setelah kita telusuri dari akar, maka kita akan menemukan bahwa string yang mempunyai kode Huffman “111” adalah karakter D.

Cara yang kedua adalah dengan menggunakan tabel kode Huffman. Sebagai contoh kita akan menggunakan kode Huffman pada Tabel 1 untuk merepresentasikan string “ABACCDA”. Dengan menggunakan Tabel 1 string tersebut akan direpresentasikan menjadi rangkaian bit : 0 110 0 10 10 1110. Jadi, jumlah bit yang dibutuhkan hanya 13 bit. Dari Tabel 1 tampak bahwa kode untuk sebuah simbol/karakter tidak boleh menjadi awalan dari kode simbol yang lain guna menghindari keraguan (ambiguitas) dalam proses dekompresi atau decoding. Karena tiap kode Huffman yang dihasilkan unik, maka proses decoding dapat dilakukan dengan mudah. Contoh: saat membaca kode bit pertama dalam rangkaian bit “011001010110”, yaitu bit “0”, dapat langsung disimpulkan bahwa kode bit “0” merupakan pemetaan dari simbol “A”. Kemudian baca kode bit selanjutnya, yaitu bit “1”. Tidak ada kode Huffman “1”, lalu baca kode bit selanjutnya, sehingga menjadi “11”. Tidak ada juga kode Huffman “11”, lalu baca lagi kode bit berikutnya, sehingga menjadi “110”. Rangkaian kode bit “110” adalah pemetaan dari simbol “B”.

 

1.A.4 Kompleksitas Algoritma Huffman

Algoritma Huffman mempunyai kompleksitas waktu O(n log n), karena dalam melakukan sekali proses itersi pada saat penggabungan dua buah pohon yang mempunyai frekuensi terkecil pada sebuah akar membutuhkan waktu O(log n), dan proses itu dilakukan berkali-kali sampai hanya tersisa satu buah pohon Huffman itu berarti dilakukan sebanyak n kali[4].

 

2.A  Algoritma Greedy

Algoritma greedy adalah salah satu algoritma yang digunakan untuk menyelsaikan persoalan optimasi, artinya persoalan yang menuntut pencarian solusi optimum, baik masalah maksimasi (maximization ) atau minimasi (Minimization).Algoritma greedy adalah algoritma yangmecahkan masalah langkah per langkah, pada setiap langkahnya algoritma greedy melakukan :

1. Mmengambil pilihan yang terbaik yang dapat diperoleh pada saat itu tanpa memperhatikan konsekuensi ke depan (prinsip “take what you can get now!”)

2. Berharap bahwa dengan memilih optimum lokal pada setiap langkah akan berakhir dengan optimum global.

 

2.A.1 Hubungan Algoritma Greedy dengan Algoritma Huffman

Pada awalnya David Huffman hanya menencoding karakter dengan hanya menggunakan pohon biner biasa, namun setelah itu David Huffman menemukan bahwa penggunaan algoritma greedy dapat membentuk kode prefiks yang optimal. Penggunaan algoritma greedy pada algoritma Huffman adalah pada saat pemilihan dua pohon dengan frekuensi terkecil dalam membuat pohon Huffman. Algoritma greedy ini digunakan pada pembentukan pohon Huffman agar meminimumkan total cost yang dibutuhkan. Cost yang digunakan untuk menggabungkan dua buah pohon pada akar setara dengan jumlah frekuensi dua buah pohon yang digabungkan, oleh karena itu total cost pembentukan pohon Huffman adalah jumlah total seluruh penggabungan. Penggabungan dua buah pohon dilakukan setiap langkah dan algoritma Huffman selalu memilih dua buah pohon yang mempunyai frekuensi terkecil untuk meminimumkan total cost. Oleh karena itu algoritma Huffman adalah salah satu contoh algoritma yang menggunaan dari algoritma greddy.

Sebagai contoh terdapat sebuah teks yang terdiri dari 120 karakter, yang masing-masing karakter mempunyai cost. Tujuan kita adalah menghitung total cost yang dikeluarkan untuk membentuk teks tersebut. 

Karakter cost Kode Huffman Total cost

 A        10           000             10×3=30

  B        15             010             15×3=45

 C         5             0010             5×5=25

 D       15             011             15×3=45

 E        20             111             20×3=60

F         5            00110           5×5=25

G        15             110            15×3=45

H        30             10               30×2=60

I          5             00111          5×5=25

Total cost                                   360

Tabel 2. Contoh Perhitungan Total Cost pada Suatu Teks

 

3. Pengujian Algoritma Huffman

Pada pengujian digunakan, kita akan menencoding sebuah teks yang berisi 100.000 string, diantaranya 45.000 karakter ‘g’, 13.000 karakter ‘o’, 12.000 karakter ‘p’, 16.000 karakter ‘h’, 9.000 karakter ‘e’, dan 5.000 karakter ‘r’ dengan menggunakan 3 cara, yaitu dengan menggunakan kode ASCII , kode 3-bit dan kode Huffman. Setelah itu ketiga kode tersebut akan dibandingkan satu sama lainnya.

A. Kode ASCII

Karakter ASCII   Biner

  g           103    1100111

o           111    1101111

  p           112    1110000

  h           104    1101000

  e           101    1100101

  r            114    1110010

Tabel 3. Kode ASCII untuk karakter “ g,o,p,h,e,r, ”

Untuk meng-encoding teks tersebut kita membutuhkan sebanyak

  • untuk karakter ‘g’ 4.5000 x 8 bit (1100111) = 360.000 bit
  • untuk karakter ‘o’ 13.000 x 8bit (1101111) = 104.000 bit
  • untuk karakter ‘p’ 12.000 x 8bit (1110000) = 96.000 bit
  • untuk karakter ‘h’ 16.000 x 8bit (1101 000 ) = 128.000 bit
  • untuk karakter ‘e’ 9.000 x 8bit (1100101) = 72.000 bit
  • untuk karakter ‘r’ 5.000 x 8bit (1110010) = 40.000 bit jumlah = 800.000 bit

b. 3-bit Kode

Karakter Kode String Biner

g                 0             000

o                 1             001

p                 2             010

h                 3             011

e                 4             100

r                  5            101

Tabel 4. 3-bit Kode untuk karakter “ g,o,p,h,e,r”

Untuk meng-encoding teks tersebut kita membutuhkan sebanyak

  • untuk karakter ‘g’ 45.000 x 3 bit (000) = 135.000 bit
  • untuk karakter ‘o’ 13.000 x 3bit (001) = 39 .000 bit
  • untuk karakter ‘p’ 12.000 x 3bit (010) = 36 .000 bit
  • untuk karakter ‘h’ 16.000 x 3bit (011) = 48 .000 bit
  • untuk karakter ‘e’ 9.000 x 3bit (100) = 27 .000 bit
  • untuk karakter ‘r’  5.000 x 3bit (101) = 15.000 bit jumlah = 300.000 bit

c. Kode Huffman

Karakter Frekuensi Peluang Kode Huffman

  g           45000       3/13               0

   o           13000       3/13             101

   p           12000       1/13             100

 h            16000       1/13            111

   e             9000        1/13            1101

   r             5000         1/13            1100

Tabel 5. Kode Huffman untuk Karakter “ g,o,p,h,e,r”

Untuk meng-encoding teks tersebut kita membutuhkan sebanyak

  • untuk karakter ‘g’ 45.000 x 1 bit (0) = 45 .000 bit
  • untuk karakter ‘o’ 13.000 x 3bit (101) = 39 .000 bit
  • untuk karakter ‘p’ 12.000 x 3bit (110) = 36 .000 bit
  • untuk karakter ‘h’ 16.000 x 3bit (111) = 48.000 bit
  • untuk karakter ‘e’ 9.000 x 4bit (1101) = 36.000 bit
  • untuk karakter ‘r’ 5.000 x 4bit (1100) = 20 .000 bit jumlah = 224.000 bit

Dari data diatas kita dapat lihat bahwa dengan menggunakan kode ASCII untuk meng-encoding teks tersebut membutuhkan 800.000 bit, sedangkan dengan menggunakan 3-bit kode dibutuhkan 300.000 bit dan dengan menggunakan kode Huffman hanya membutuhkan 224.000. Dengan menggunakan data tersebut maka dapat kita lihat bahwa dengan menggunakan algoritma huffman dapat mengompres teks sebesar 70% dibandingkan kita menggunakan kode ASCII dan sebesar 25,3% dibandingkan kita menggunakan 3-bit kode.

 

4. Kesimpulan

1. Algoritma Huffman adalah salah satu algoritma kompresi, yang banyak digunakan dalam kompresi teks.

2. Terdapat 3 tahapan dalam menggunakan algoritma Huffman, yaitu:

  • membentuk pohon Huffman
  • melakukan encoding dengan menggunakan pohon Huffman, dan
  • melakukan decoding

3. Algoritma Huffman mempunyai kompleksitas waktu O(n log n).

4. Algoritma Huffman adalah salah satu algoritma yang menggunakan prinsip algoritma greedy dalam penyusunan pohon Huffman

5. Dari hasil pengujian yang dilakukan, algoritma Huffman dapat mengompres teks sebesar 70% jika dibandingkan dengan menggunakan kode ASCII dan sebesar 25,3% jika dibandingkan dengan kita menggunakan 3-bit kode. Untuk dapat lebih melihat dan membuktikan keefektifan, kelebihan dan kelemahan dari algoritma Huffman, perlu diadakannya sebuah penelitian yang bertujuan membandingkan seluruh algoritma kompresi dalam mengompres berbagai data atau file.