Skripsi: Perencanaan Dan Pembuatan Perangkat Lunak Untuk Menggabungkan Data Audio-Visual Hasil...

download Skripsi: Perencanaan Dan Pembuatan Perangkat Lunak Untuk Menggabungkan Data Audio-Visual Hasil Rekaman Dengan Data Audio-Visual Hasil Animasi Komputer, Setyo Nugroho

If you can't read please download the document

description

Perencanaan Dan Pembuatan Perangkat Lunak Untuk Menggabungkan Data Audio-Visual Hasil Rekaman Dengan Data Audio-Visual Hasil Animasi Komputer, Setyo Nugroho.Tugas Akhir S1, Jurusan Teknik Elektro, Bidang Studi Komputer - Institut Teknologi Sepuluh Nopember (ITS) Surabaya, 1998.ABSTRAKKomputer yang dilengkapi dengan perangkat multimedia semakin banyak dimanfaatkan di berbagai bidang, antara lain untuk keperluan pendidikan, informasi, hiburan, dan periklanan. Untuk memperoleh hasil tampilan audiovisualyang lebih menarik dapat dilakukan dengan memanipulasi data audio-visual yang diperoleh dari hasil rekaman. Salah satu jenis modifikasi tersebut adalah dengan menggabungkan data audio-visual hasil rekaman tersebut dengan data audio-visual yang diperoleh dari hasil animasi komputer.Dalam tugas akhir ini dilakukan perancangan dan pembuatan perangkat lunak komputer yang dapat digunakan untuk menggabungkan dua jenis data audio-visual tersebut di atas sehingga menghasilkan satu data audio-visual yang baru. Data audio-visual yang baru ini akan berisi gambar dan suara yang merupakan gabungan dari gambar dan suara dari kedua data audio-visual masukannya. Semua data audio-visual yang digunakan berbentuk digital dan disimpan dalam file dengan format AVI.

Transcript of Skripsi: Perencanaan Dan Pembuatan Perangkat Lunak Untuk Menggabungkan Data Audio-Visual Hasil...

PERENCANAAN DAN PEMBUATAN PERANGKAT LUNAK UNTUK MENGGABUNGKAN DATA AUDIO-VISUAL HASIL REKAMAN DENGAN DATA AUDIO-VISUAL HASIL ANIMASI KOMPUTER TUGAS AKHIR Disusun oleh : SETYO NUGROHONRP : 2291 100 128 JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNOLOGI INDUSTRI INSTITUT TEKNOLOGI SEPULUH NOPEMBER SURABAYA 1998 PERENCANAAN DAN PEMBUATAN PERANGKAT LUNAK UNTUK MENGGABUNGKAN DATA AUDIO-VISUAL HASIL REKAMAN DENGAN DATA AUDIO VISUAL HASIL ANIMASI KOMPUTER TUGAS AKHIR Diajukan Guna Memenuhi Sebagian PersyaratanUntuk Memperoleh Gelar Sarjana Teknik Elektro Pada Bidang Studi Teknik Sistem Komputer Jurusan Teknik Elektro Fakultas Teknologi Industri Institut Teknologi Sepuluh Nopember Surabaya Mengetahui / Menyetujui Dosen Pembimbing Ir. YOYON K. SUPRAPTO, M.Sc NIP. 130 687 439 S U R A B A Y A MARET, 1998 i ABSTRAK Komputeryangdilengkapidenganperangkatmultimediasemakinbanyak dimanfaatkandiberbagaibidang,antaralainuntukkeperluanpendidikan, informasi,hiburan,danperiklanan.Untukmemperolehhasiltampilanaudio-visual yang lebih menarik dapat dilakukan dengan memanipulasi data audio-visual yangdiperolehdarihasilrekaman.Salahsatujenismodifikasitersebutadalah denganmenggabungkandataaudio-visualhasilrekamantersebutdengandata audio-visual yang diperoleh dari hasil animasi komputer. Dalamtugasakhirinidilakukanperancangandanpembuatanperangkat lunakkomputeryangdapatdigunakanuntukmenggabungkanduajenisdata audio-visualtersebutdiatassehinggamenghasilkansatudataaudio-visualyang baru.Dataaudio-visualyangbaruiniakanberisigambardansuarayang merupakangabungandarigambardansuaradarikeduadataaudio-visual masukannya.Semuadataaudio-visualyangdigunakanberbentukdigitaldan disimpan dalam file dengan format AVI. ii KATA PENGANTAR AtasberkatrahmatAllahswt,akhirnyapenulisdapatmenyelesaikan Tugas Akhir serta laporan yang berjudul: PERENCANAAN DAN PEMBUATAN PERANGKAT LUNAK UNTUK MENGGABUNGKAN DATA AUDIO-VISUAL HASIL REKAMAN DENGAN DATA AUDIO-VISUAL HASIL ANIMASI KOMPUTER Kamimenyadaribahwadidalampenyusunanlaporantugasakhirini tentunyamasihterdapatberbagaikekurangan,sehinggakamiakansangat menghargaisegalamasukanyangbergunadaripembaca.Semogalaporanini dapatbermanfaatbagipembacauntukmengembangkanilmupengetahuan, khususnyadibidangkomputer.Selanjutnyadarilaporanyangkamisusunini kami berharap akan adanya kritik dan saran yang positif dari pembaca. Akhirnya sebagai penutup, sekali lagi kami berharap semoga laporan tugas akhir ini dapat memberikan manfaat. Surabaya, Pebruari 1998 Penyusun Setyo Nugroho iii UCAPAN TERIMA KASIH Padakesempataninipenulisinginmenyampaikanrasaterimakasihyang sebesar-besarnya kepada: Bp.Ir.YoyonK.Suprapto,M.Sc,selakudosenpembimbing,jugaselaku KoordinatorBidangStudiTeknikSistemKomputer,yangtelahbanyak memberikan bimbingan dan masukan. Bp. Ir. Teguh Yuwono, selaku Ketua Jurusan Teknik Elektro ITS, serta semua dosen di Jurusan Teknik Elektro ITS. ParaBapakDosenLabB201:Eko M ST, Moh Hariadi ST, Suryo S ST yang telah banyak memberikan dorongan serta masukan yang sangat berharga. Seluruhanggota&penghuniLab.B201/B401:Lithel,mBeler,iLad,Melaz, Synam,Kubamz,Gendul,Flinston,Rombenq,Buyut,Morotuo,Inyong, Kadal,Ghoank,PDP11,Kemon,Goofie,Zedod, Wowoh, Corong, Rangsang, Senggek, dll. Ibu-Bapak tercinta, mbah Ibu, mbak Wid, Mawan, serta Tyas atas segala doa, motivasi, inspirasi, pertanyaan, dan bantuan moril-materiil yang diberikan. Kawan-kawan di TMB 11, juga Papa Lippuz, Utomo, Nasrul, Didit, Wahyudi, Agung, Mashudi, Ridzky, Gibran, Nurul, Mira, Bp/Ibu Said, dan semua pihak yangtelahmembantuterselesaikannyatugasakhirinibaiksecaralangsung maupun tidak langsung. iv DAFTAR ISI ABSTRAK............................................................................................................... i KATA PENGANTAR ............................................................................................ ii UCAPAN TERIMA KASIH.................................................................................. iii DAFTAR ISI.......................................................................................................... iv DAFTAR GAMBAR............................................................................................. vi DAFTAR TABEL................................................................................................. vii BAB I PENDAHULUAN..................................................................................... I-1 1.1 Latar Belakang ........................................................................................... I-1 1.2 Permasalahan.............................................................................................. I-2 1.3 Tujuan......................................................................................................... I-3 1.4 Metodologi ................................................................................................. I-4 1.5 Batasan Masalah......................................................................................... I-4 1.6 Sistematika Penulisan................................................................................. I-5 BAB II TEORI PENUNJANG ............................................................................II-1 2.1 Citra Digital ...............................................................................................II-1 2.2 Video Digital .............................................................................................II-4 2.3 Audio Digital .............................................................................................II-7 2.4 Format Data Multimedia Pada Windows ..................................................II-8 2.4.1 Format File AVI ..............................................................................II-10 2.4.2 Format Data Bitmap ........................................................................II-25 2.4.3 Format Data Waveform Audio........................................................II-29 2.5 Model Warna...........................................................................................II-32 2.5.1 Model Warna RGB..........................................................................II-32 2.5.2 Model Warna HSL...........................................................................II-34 2.5.3 Konversi Model Warna RGB - HSL ...............................................II-36 2.6 Pemrograman Multimedia.......................................................................II-38 2.6.1 Operasi Bitmap Pada Windows.......................................................II-39 2.6.2 Operasi Input-Output File AVI........................................................II-41 v BAB III PERENCANAAN DAN PEMBUATAN PERANGKAT LUNAK.... III-1 3.1 Penggabungan Video............................................................................... III-4 3.1.1 Penggabungan Frame Dengan Metode Chromakey ........................ III-6 3.1.2 Penentuan Toleransi Warna Kunci .................................................. III-9 3.2 Penggabungan Audio ............................................................................ III-11 3.3 Penggabungan File AVI Secara Multi Segmen..................................... III-15 3.4 Pemilihan Frame Video Yang Akan Digabung..................................... III-18 3.5 Penulisan Data Ke File AVI.................................................................. III-19 3.6 Perancangan Tampilan Perangkat Lunak.............................................. III-19 BAB IV CARA PENGOPERASIAN PERANGKAT LUNAK........................ IV-1 4.1 Pengisian Parameter-parameter Masukan ............................................... IV-2 4.2 Langkah-langkah Penggabungan File AVI ............................................. IV-5 BAB V PENUTUP.............................................................................................. V-1 5.1 Kesimpulan............................................................................................... V-1 5.2 Saran-saran ............................................................................................... V-2 DAFTAR PUSTAKA...............................................................................................LAMPIRAN..............................................................................................................

vi DAFTAR GAMBAR Gambar 2.1 Model Warna RGB.........................................................................II-33 Gambar 2.2 Model Warna HSL.........................................................................II-35 Gambar 3.1 Diagram Blok Proses Penggabungan File AVI.............................. III-3 Gambar 3.2 Penggabungan Stream Video ......................................................... III-4 Gambar 3.3 Diagram Alir Proses Chromakey ................................................... III-7 Gambar 3.4 Susunan Bit RGB Pada Bitmap 16 Bit Per Pixel ........................... III-8 Gambar 3.5 Penjumlahan Sinyal Audio........................................................... III-12 Gambar 3.6 Diagram Alir Proses Penggabungan Data Audio......................... III-13 Gambar 3.7 Penggabungan File AVI Secara Multi Segmen............................ III-16 Gambar 4.1 Tampilan Pada Saat Pengisian Parameter Masukan ...................... IV-3 vii DAFTAR TABEL Tabel 2.1 Field-field pada struktur chunk file RIFF..........................................II-13 Tabel 2.2 Field-field pada struktur data MainAVIHeader .................................II-17 Tabel 2.3 Field-field pada struktur data AVIStreamHeader ..............................II-20 Tabel 2.4 Field-field pada struktur data AVIINDEXENTRY...........................II-25 Tabel 2.5 Hubungan antara bit per pixel dengan jumlah warna maksimum pada bitmap..............................................................................................................II-26 Tabel 2.6 Field-field pada struktur data BITMAPINFOHEADER ...................II-28 Tabel 2.7 Field-field pada struktur data WAVEFORMAT ...............................II-31 I-1 BAB I PENDAHULUAN 1.1 LATAR BELAKANG Perkembanganteknologikomputerdanelektronikadewasainiterasa sangatpesat,baikdarisegiperangkatkerasmaupunperangkatlunaknya.Jika padamulanyakomputerlebihbanyakdigunakanuntukhal-halyangbersifat ilmiahsaja,sepertiuntukmengerjakanperhitunganmatematis,danhanyadapat menampilkanteksyangterdiridarihuruf-hurufdanangka-angkadenganwarna yangsangatterbatas,makakomputerpribadi(PC)padagenerasisekarangini telahdapatdigunakanuntukmenampilkangambargrafikdenganresolusijutaan warna,merancangdanmenampilkananimasi,danbahkandapatdigunakanpula untuk menyajikan informasi audio-visual yang berisi gambar bergerak dan suara.Dengan adanya kemampuan komputer untuk menyajikan informasi audio-visualini,semakinbanyakorangyangmemanfaatkannyadenganmembuatdata audio-visual untuk berbagai keperluan seperti pendidikan, hiburan, informasi, dan periklanan.Untukmenghasilkandataaudio-visualdengantampilanyanglebih menarikdapatdilakukandenganmemanipulasidataaudio-visualyangdiperoleh darihasilrekaman.Salahsatujenismodifikasitersebutadalahdengan menggabungkandataaudio-visualhasilrekamantersebutdengandataaudio-visual lain yang diperoleh dari hasil animasi komputer.PendahuluanI-2 Untukitukamimerancangsuatuperangkatlunakkomputeryangdapat digunakanuntukmenggabungkanduajenisdataaudio-visualdiatassehingga menghasilkansatudataaudio-visualyangbaru.Dataaudio-visualyangbaruini akanberisikangambardansuarayangmerupakangabungandarigambardan suaradarikeduadataaudio-visualmasukannya.Semuadataaudio-visualyang digunakan di sini berbentuk digital dan disimpan dalam file dengan format AVI. 1.2 PERMASALAHAN Dalampenyelesaiantugasakhirinidapatdirumuskanbeberapa permasalahanyang dihadapi, yaitu: Dua buah file berformat AVI berperan sebagai masukan, dimana salah satufiledigunakansebagaivideolatarbelakangyanguntuk selanjutnyadisebutjugadenganfileAVIbackground,sedangkanfile yang satu lagi sebagai video latar depan yang untuk selanjutnya disebut juga dengan file AVI foreground. FileAVIterdiridaribagianyangberupadatavideodandataaudio. Datavideotersusundarikumpulansejumlahframeataugambardiam denganukuranyangsama,dansetiapframemerupakansuatubitmap yangtersusundarisejumlahpixel.Masing-masingdaripixeltersebut memilikihargatertentuyangakanmenentukanwarnadaripixelitu. SedangkandataaudiodidalamfileAVItersusundarisampel-sampel sinyaldigitaldimanasetiapsampelmemilikihargatertentuyang PendahuluanI-3 sebandingdenganhargasinyalpadasaatdilakukanpengambilan sampel suara tersebut. MenggabungkanfileAVIbackgrounddanfileAVIforeground.Hal inidilakukandengancaramembukafileAVIdanmengambilbagian-bagiandarimasing-masingfileAVI,yaitubagianvideodanbagian audio.BagianvideodariAVIbackgroundakandigabungkandengan bagianvideodariAVIforeground,sedangkanbagianaudiodariAVI backgrounddigabungkandenganbagianaudiodariAVIforeground, untukkemudianhasilgabunganbagianvideodenganhasilgabungan bagian audio tadi akan disimpan bersama-sama di dalam satu file untuk membentuk sebuah file AVI yang baru. PenggabunganbagianvideodilakukanuntuksetiapframedariAVI backgrounddengansetiapframedariAVIforeground.Penggabungan frame video ini menggunakan metode chromakey. Penggabunganbagianaudiodilakukanuntuksetiapsampelaudiodari AVIbackgroundmaupunAVIforegroundsehinggamenghasilkan sampel audio yang baru sebagai keluarannya. 1.3 TUJUAN Tujuandaritugasakhiriniadalahmerencanakandanmembuatsuatu perangkatlunakyangdapatdigunakanuntukmenggabungkandataaudio-visual hasilrekamandengandataaudio-visualhasilanimasikomputer,sehingga PendahuluanI-4 menghasilkan data audio-visual baru yang lebih menarik. Semua data audio-visual yang digunakan di sini tersimpan dalam bentuk file berformat AVI. 1.4 METODOLOGI Untuk mencapai tujuan diatas, dilakukan langkah-langkah sebagai berikut: Pengumpulanbahan-bahanreferensi,yangmeliputireferensibahasa pemrogramanyangdigunakan,dalamhalinibahasaDelphi(Borland Delphi2.0),referensimengenaiformatfileAVI,formatdatabitmap, formatdataaudio,teknikpemrogramanmultimedia,sertabeberapa referensi lainnya yang menunjang pencapaian tujuan tersebut. Perencanaandanpembuatanperangkatlunakuntukmenggabungkan fileAVIhasilrekamandenganfileAVIhasilanimasikomputer. Penggabunganuntukbagianaudiodilakukansecaraterpisahdengan penggabunganuntukbagianvideountukselanjutnyahasilkedua penggabungantersebutdisimpanbersama-samakedalamsatufile berformat AVI. Uji coba dan perbaikan pada perangkat lunak yang dibuat.Penulisan laporan tugas akhir. 1.5 BATASAN MASALAH Batasanmasalahdaritugasakhiriniadalahperencanaandanpembuatan perangkat lunak dengan kemampuan sebagai berikut: PendahuluanI-5 Menggabungkan file AVI hasil rekaman dengan file AVI hasil animasi komputerdanmenghasilkanfileAVIyangbarusebagaihasil gabungannya. Sistem operasi yang digunakan adalah Windows 95. KeduafileAVImasukanyangdigunakansebagaiAVIbackground maupun AVI foreground memiliki format video dan audio yang sama, yaitu: untukbagianvideo:berukuran320x240pixel,lajuframe15 frame/detik, dan resolusi warna 16 bit/pixel. untukbagianaudio:formatPCM8-bit,1kanal,danlajusampel 22050 Hz. KeluaranyangdiperolehmerupakanfileAVIbarudenganformat video dan audio yang sama dengan file AVI masukannya. I.6 SISTEMATIKA PENULISAN Sistematikapenulisanlaporantugasakhirinidibagidalamlimabab, masing-masing bab diuraikan sebagi berikut: BABImerupakanpendahuluanyangberisilatarbelakang, permasalahan,tujuan,metodologi,batasanmasalah,dansistematika penulisan. BABIIberisiteori-teoripenunjangyangmembahastentangstruktur data,formatfiledatamultimedia,modelwarna,danteknik pemrograman multimedia. PendahuluanI-6 BABIIIberisiuraiantentangperencanaandanpembuatanperangkat lunak. BAB IV berisi uraian tentang cara pengoperasian perangkat lunak yang telah dibuat. BAB V berisi kesimpulan dan saran. II-1 BAB II TEORI PENUNJANG Pada bagian ini akan dibahas teori-teori yang menunjang dan digunakan di dalamperencanaandanpembuatanperangkatlunak.Teoripenunjangyang dipakai meliputi: Citra Digital Video Digital Audio Digital Format Data Multimedia Model Warna Pemrograman Multimedia pada Windows 2.1 CITRA DIGITAL Untukmenyatakancitra(image)secaramatematis,dapatdidefinisikan fungsif(x,y)dimanaxdanymenyatakansuatuposisidalamkoordinatdua dimensidanhargafpadatitik(x,y)adalahhargayangmenunjukkanwarnacitra pada titik tersebut1.Citradigitaladalahcitrayangdinyatakansecaradiskrit(tidakkontinyu), baik untuk posisi koordinatnya maupun warnanya. Dengan demikian, citra digital dapat digambarkan sebagai suatu matriks, di mana indeks baris dan indeks kolom 1 Rafael C Gonzales, Digital Image Processing, Addison-Wesley Publishing,hal.6 Teori PenunjangII-2 darimatriksmenyatakanposisisuatutitikdidalamcitradanhargadarielemen matriksmenyatakanwarnacitrapadatitiktersebut.Dalamcitradigitalyang dinyatakansebagaisusunanmatrikssepertiini,elemen-elemenmatrikstadi disebut juga dengan istilah pixel yang berasal dari kata picture element. Untuk mendapatkan suatu citra digital, dapat digunakan alat yang memiliki kemampuanuntukmengubahsinyalyangditerimaolehsensorcitramenjadi bentukdigital,misalnyadenganmenggunakankameradigitalatauscanner.Cara yang lain adalah dengan menggunakan ADC (Analog-to-Digital Converter) untuk mengubah sinyal analog yang dihasilkan oleh keluaran sensor citra menjadi sinyal digital,misalnyadenganmenggunakanperangkatkerasvideocapture yang dapat mengubah sinyal video analog menjadi citra digital. Format Penyimpanan Citra Digital Untukmenyimpancitradigitalkedalamsuatufile,dapatdigunakan bermacam-macamformat.Secaragarisbesar,formatdaricitradigitaldapat dikelompokkan menjadi dua, yaitu bitmap dan vector. Format Bitmap Pada format bitmap, citra disimpan sebagai suatu matriks di mana masing-masingelemennyadigunakanuntukmenyimpaninformasiwarnauntuksetiap pixel. Jumlah warna yang dapat disimpan ditentukan dengan satuan bit-per-pixel. Semakinbesarukuranbit-per-pixeldarisuatubitmap,semakinbanyakpula jumlah warna yang dapat disimpan.Teori PenunjangII-3 Formatbitmapinicocokdigunakanuntukmenyimpancitradigitalyang memiliki banyak variasi dalam bentuknya maupun warnanya, seperti foto, lukisan, danframevideo.Formatfileyangmenggunakanformatbitmapiniantaralain adalahBMP,DIB,PCX,GIF,danJPG.Formatyangmenjadistandardalam sistemoperasiMicrosoftWindowsadalahformatbitmapBMPatauDIB. KelebihandariformatDIBiniadalahbersifatfleksibelkarenadapatdigunakan untukmenyimpancitradengan1,4,8,16,dan24bit-per-pixel.Disampingitu, prosesuntukmembacainformasiwarnapixeldidalamformatDIBlebihmudah dan dapat dilakukan secara cepat. Format yang lain seperti JPG dan GIF memiliki kelebihandalamhalukuranfileyangkecilkarenacitradigitaldisimpandalam bentuk terkompresi. Format Vector Padaformatvector,citradisimpansebagaisekumpulanbentuk-bentuk tertentusepertigaris,kurva,kotak,poligon,danlingkaranyangdapatjuga memiliki warna. Data yang tersimpan di dalam file format vector ini berupa kode-kodeyangmenunjukkansuatubentukdenganposisinya,dimensinya,dan warnanya.Formatinicocokdigunakanuntukmenyimpancitrayangbanyak mengandunggarisdankurva,misalnyagambarteknik,diagramblok,dan flowchart.Formatfileyangmenggunakanformatvectoriniantaralainadalah DWG, DXF (AutoCAD), dan CDR (CorelDraw).Kelebihandariformatvectoriniadalahkebutuhankapasitasuntuk menyimpannya lebih kecil dibandingkan jika disimpan dengan format bitmap. Teori PenunjangII-4 2.2 VIDEO DIGITAL Untukmemahamitentangvideodigital,harusdipahamidulupengertian mengenaivideoitusendiri.Videodisinididefinisikansebagaisekumpulan gambarbergerakyangdiperolehdarihasilrekamankameraatauhasilanimasi komputer.Padamulanyainformasivideoinidisimpansecaraanalog,sebagai perubahanbentukgelombangsecarakontinyuyangmewakiliadanyaperubahan warna dan kecerahan (brightness) dari gambar yang direkam. Disisilain,komputerdigitalhanyadapatmenyimpandanmengolahdata yangbersifatbiner.Untukitudikalanganindustrikomputerdidefinisikanwarna dalambesaran24-bityangdapatdigunakanuntukmenyimpansekitar16,7juta kemungkinanwarnayangberbeda.Dengandemikiandatavideodapatdisimpan secaradigitalsebagaititik-titikyangmasing-masingmemilikiwarnatertentu dan titik-titiktersebutjikadisusunsebagaisatukesatuanakanmembentuksuatu gambarsecarautuh.Kemajuanteknologiyangdicapaipadasaatinitelah memungkinkan komputer pribadi (PC) memiliki kemampuan untuk menampilkan informasi berupa video yang berisi gambar bergerak beserta suaranya. Untukmenyimpandatavideosecaradigital,telahdiciptakanberbagai formatpenyimpanandanmetodekompresi-dekompresi.Perangkatlunakyang digunakan untuk melakukan kompresi dan dekompresi terhadap data video digital denganmenggunakantekniktertentudisebutjugadengancodec yang merupakan singkatandaricompressor-decompressor.Sampaisaatinimasihdilakukan berbagaipenelitianuntukmenemukanformatyangdapatdigunakanuntuk menyimpandatavideodigitaldenganseefisienmungkin.Diantaraformatvideo Teori PenunjangII-5 digital yang populer dan banyak digunakan pada saat ini adalah: AVI, QuickTime, Indeo, Cinepak, dan MPEG. AVI AVIadalahformatvideodigitalyangpalingbanyakdigunakandalam komputerpribadiPCyangmenggunakansistemoperasiWindows.FormatAVI inidiciptakanolehMicrosoftCorporation.MicrosoftmerancangformatfileAVI inisecarafleksibelsehinggadapatmenyimpandatavideoyangdikompresidan didekompresidenganmenggunakancodecyangdibuatolehpihaklainseperti Indeo dan Cinepak.

QuickTime QuickTime adalah format penyimpanan video digital yang diciptakan oleh AppleComputer.FormatvideoQuickTimeinipadaawalnyadirancangkhusus untukdigunakanpadakomputerAppleMacintoshtanpaharusmenambahkan perangkat keras khusus. Apple Computer dalam merancang arsitektur QuickTime bersifat terbuka sehingga dapat digunakan codec dari pihak lain seperti Indeo dan Cinepak.BahkanpadasaatinitelahdibuatversiQuickTimeyangdapat digunakan pada sistem operasi Microsoft Windows. Indeo IndeoadalahformatvideodigitaldariIntelCorporationyangdirancang untukdapatdijalankanpadakomputerdenganprosesorkelas486danPentium Teori PenunjangII-6 tanpaharusmenambahkanperangkatkeraskhusus.FormatIndeoinidirancang untuk dapat digunakan pada berbagai platform dan didukung penggunaannya pada Microsoft Windows, IBM OS/2, dan Apple QuickTime. Cinepak CinepakadalahformatpenyimpananvideodigitaldariRadiusIncyang dirancanguntukdapatdigunakanpadakomputerdenganprosesorIntel386-20 MHztanpamemerlukanperangkatkerastambahan.FormatCinepakinijuga didukung oleh Microsoft Windows dan Apple QuickTime. MPEG MPEGyangmerupakansingkatandariMovingPictureExpertGroup didefinisikan oleh ISO (International Standard Organization) dan dirancang untuk menyimpan data video digital dengan kualitas tinggi. Standar yang pertama adalah MPEG-1denganresolusi352x240pixeldenganlajuframe30frame/detik. DenganstandarMPEG-1ini,datavideodanaudiosepanjang70menitdapat disimpan di dalam sebuah CD-ROM.StandaryanglebihbaruadalahMPEG-2yangmendukungresolusi704x 480pixeldanlajuframe30frame/detik.Standarinidirancanguntukdigunakan olehkalanganpemakaivideoprofesionalsertakalanganpertelevisiandan perfilman.StandarMPEG-2bersifatkompatibeldenganMPEG-1,yangartinya bahwaperangkatkerasyangdirancanguntukmenanganiformatMPEG-2akan dapat juga menangani format MPEG-1.Teori PenunjangII-7 SalahsatukelemahandariformatMPEGiniadalahdiperlukannya perangkatkerastambahanuntukdapatmemainkannyapadakomputerdengan prosesoryangberkelasdibawahPentium.Namundemikiandengansemakin meningkatnyakemampuankomputeryangdigunakanolehmasyarakatluas, standar MPEG ini akan semakin banyak digunakan. 2.3 AUDIO DIGITAL Agarkomputerdapatdigunakanuntukmemanipulasisuara,makasinyal suaraharusdikonversikedalambentukdigital.Mula-mula,konversidarisinyal audioanalogkedigitaldilakukandenganmelakukanprosessampling,yaitu mengambilhargasinyalsetiapperiodewaktutertentu,mengkonversikanharga tersebut ke dalam skala yang sesuai, dan menyimpan hasilnya.Sebagai contoh, sinyal audio yang memiliki frekuensi sampling 22050 Hz, berartidalamsatudetikdilakukanprosessamplingsebanyak22050kali. Frekuensi sampling yang digunakan untuk mengkonversi sinyal audio analog dan digitaldapatdiatursesuaidengankebutuhan.Semakintinggifrekuensisampling yangdigunakan,semakinbaguskualitasyangdidapatkan,namunsemakinbesar kapasitasmediapenyimpanyangdibutuhkan.Sebagaigambaran,sistemtelepon digitalkebanyakanmenggunakanfrekuensisampling8kHzkarenasudahcukup memadaiuntukmerekamsuarapembicaraanmanusia,sedangkanperekaman musikpadaCD(compactdisk)danDAT(digitalaudiotape)menggunakan frekuensi sampling 44 kHz guna memperoleh kualitas rekaman yang tinggi. Teori PenunjangII-8 Salahsatuperusahaanyangmempeloporipemanfaatankomputeruntuk mengolah sinyal audio digital adalah Apple dengan produknya Macintosh. Tetapi padasaatinikomputerkompatibelIBMPCberbasisprosesorInteljugadapat memiliki kemampuan untuk mengolah sinyal audio digital dengan menambahkan perangkatkerassoundcardsepertiSoundBlaster,misalnya.Diantaraformat audiodigitalyangpopuleradalah:Mac.snd,SoundBlaster.voc,RIFF.wav,dan Sun .au, dan SGI .aiff. 2.4 FORMAT DATA MULTIMEDIA PADA WINDOWS Aplikasimultimediaialahsuatuaplikasiyangdidalamnyamengandung informasiberupasuara,video,ataukeduanya.Aplikasimultimediamemiliki kelebihan di dalam memberikan informasi jika dibandingkan dengan media cetak ataumediaaudio-videostandarsepertitelevisi,kaset,danradio.Padabahan mediacetak,informasiyangdisajikanhanyaberisikansekumpulangambardan tulisan yang bersifat statis. Sedangkan dibandingkan dengan peralatan audio-video standar,aplikasimultimediamemilikikelebihankarenabersifatlebihinteraktif, yaitumemungkinkanpemakaiuntukberinteraksiduaarahsecaraaktifdengan komputeruntukmemperolehinformasiyangdikehendakinya.Contohdari penerapan aplikasi multimedia antara lain: -Pemasaran apartemen, rumah, dan sebagainya -Program-program pendidikan -Membuat presentasi yang menarik -Ensiklopedi / referensi interaktif Teori PenunjangII-9 Secaraumum,didalamsistemoperasiMicrosoftWindowsterdapattiga jenisformatdatamultimediayangditetapkansebagaistandar,yaitu:MIDI, waveform audio, dan video. MIDI DatasuaraMIDImerupakansekumpulaninstruksiuntukmemainkanalat musiktertentudengannadadantempotertentu.Instruksi-instruksiiniakan diterjemahkan oleh suatu synthesizer, yang biasanya merupakan bagian dari sound card,sehinggadapatmenghasilkansuara.FormatdataMIDIinihanyacocok digunakanuntukmenyimpannada-nadamusikdanefek-efeksuara,tetapitidak praktisjikadigunakanuntukmenyimpansuarayangbersifatacak,sepertisuara manusia. File berformat MIDI ini memiliki ekstensi .MID. Waveform Audio Waveformaudioadalahsuarahasilrekamanlangsungyangdikonversi menjadisinyaldigital.Formatdatawaveformaudioinidapatdigunakanuntuk menyimpansuaramanusia,musik,dansuaraapasajayangdapatdirekam. Denganformatdatainidapatdiperolehsuaradengankualitasyangbagusdan mendekatisuaraaslinya.Filedenganformatwaveformaudioinimemiliki ekstensi .WAV. Teori PenunjangII-10 Video Datavideoialahdatayangterdiridaridatawaveformaudiodangambar bergerak. Gambar bergerak ini sesungguhnya merupakan kumpulan dari sejumlah gambar-gambardiamyangdirekamdandisimpansecaraberurutan.Filedengan format video ini memiliki ekstensi .AVI. 2.4.1 Format File AVI FormatfileAVIdidefinisikanolehMicrosoftCorporation.AVI merupakansingkatandariAudioVideoInterleavedyangberartibahwadatayang terdapatdidalamfileAVImerupakandataaudiodandatavideoyangdisimpan untukdimainkansecaraberselinganantaraaudiodenganvideonyasehingga gambarvideoyangdijalankanakantampaksecarabersamaandengansuaradari audionya.File AVI memiliki beberapa karakteristik yang penting untuk diperhatikan. Karakteristik yang penting ini meliputi: Ukuranlebardantinggidarigambarvideodalamsatuanpixel. Semakinbesarukurangambaryangdigunakan,akansemakinbesar pulakapasitasyangdibutuhkanolehmediapenyimpannya.Ukuran yangdigunakanumumnyamemilikiperbandinganlebardibanding tinggi sebesar 4 : 3, misalnya: 160 x 120, 240 x 180, dan 320 x 240. Lajuframe(framerate)daristreamvideodalamsatuanframeper detik(fps).Semakintinggilajuframeyangdigunakan,semakinhalus dan semakin alami gambar yang dihasilkan, namun semakin besar pula Teori PenunjangII-11 kapasitas yang dibutuhkan oleh media penyimpannya. Laju frame yang umum digunakan adalah 10, 12, 15, 24, 25, dan 30 fps. Resolusiwarnadaristreamvideodalamsatuanbitperpixel(bpp). Semakin tinggi resolusi warna, semakin bagus gambar yang dihasilkan, namunsemakinbesarpulakapasitasyangdibutuhkanolehmedia penyimpannya.Resolusiyangumumdigunakanadalah4bpp,8bpp, 16 bpp, dan 24 bpp. Ukuransampeldaristreamaudiodalamsatuanbit.Ukuransampel yang umum digunakan adalah 8-bit dan 16-bit. Semakin tinggi ukuran sampel,semakintinggipulakualitassuarayangdihasilkan,namun semakinbesarpulakapasitasyangdibutuhkanolehmedia penyimpannya. Lajusampel(samplerate)daristreamaudiodalamsatuanHz.Laju sampel yang umum digunakan adalah 11025 Hz, 22050 Hz, dan 44100 Hz.Semakintinggilajusampel,semakinbaguskualitassuarayang dihasilkan,namunsemakinbesarpulakapasitas yang dibutuhkan oleh media penyimpannya. Jumlahkanaldaristreamaudio.Untukaudiomonomenggunakan1 kanal, sedangkan untuk stereo menggunakan 2 kanal. SpesifikasiformatfileAVImengikutispesifikasiformatfileRIFFyang juga didefinisikan oleh Microsoft. Teori PenunjangII-12 Format File RIFF RIFFmerupakansingkatandariResourceInterchangeFileFormat,yaitu format file yang dirancang untuk dapat menyimpan data multimedia secara umum. KelebihandariformatRIFFadalahsifatnyayangfleksibeldandapat menyesuaikan jika nantinya terjadi perubahan format data atau penambahan jenis formatdatayangbaru.FormatfileRIFFinisangatsesuaidigunakanuntuk menyimpan,memainkan,danmemindahkandatamultimediaantaraaplikasi maupunplatformyangberbeda.FileRIFFtersusundariblok-blokdatayang disebut dengan chunk. Setiap chunk dapat didefinisikan sebagai berikut: typedef DWORD FOURCC; typedef FOURCC CKID; typedef DWORD CKSIZE; typedef struct { CKID ckID; CKSIZE ckSize; BYTE ckData[ckSize]; } CK; Penjelasanmengenaibagian-bagiandarisuatuchunkdapatdilihatpada tabel 2.1. Type data FOURCC berukuran 4 byte dan tersusun dari sederetan karakter ASCII sepanjang satu sampai dengan empat karakter. Jika jumlah karakter kurang dari empat, maka sisanya harus diisi dengan karakter spasi.Teori PenunjangII-13 SelainfileAVI,fileyangjugamenggunakanformatRIFFantaralain adalahfile.WAV(waveformaudio)danfile.RMI(MIDIsequence).Suatufile RIFF tersusun dari: 1.Header 'RIFF' [4 byte ukuran file] 'xxxx' , di mana 'xxxx' menunjukkan identitas format dari RIFF. 2.Chunk [4 byte identitas chunk] [4 byte ukuran chunk] 3.'LIST'[4byteukuranlist][4byteidentitaslist][data],dimanadata dapat tersusun dari list atau chunk yang lain. Chunk LIST adalah chunk yang dapat memiliki subchunk berupa chunk-chunk yang lain.. Tabel 2.1 Field-field pada struktur chunk file RIFF FieldKeterangan ckIdKode4karakteryangmenunjukkanidentitasdari chunk.Programaplikasiyangtidakmengenali identitas chunk ini dapat melewatinya. ckSizeBesarukurandarichunk,tidaktermasukukurandari ckId dan ckSize. ckDataBerisi data dari chunk dengan besar ukuran sesuai yang ditunjukkan oleh field ckSize. Teori PenunjangII-14 Format File AVI Secaraumum,fileAVIdapatmengandungduajenisalirandatayang disebutjugadenganstream,yaitustreamaudiodanstreamvideo.Meskipun demikian, file AVI bisa juga hanya berisi stream video saja tanpa harus memiliki stream audio. Format RIFF dari file AVI ditandai dengan kode 4 karakter "AVI ". Semua fileAVIpalingtidakharusmemilikiduabuahchunkLIST.DuachunkLISTini digunakanuntukmenyimpanformatdaristreamdanisidatadaristreamyang terdapat di dalam file. File AVI juga dapat memiliki chunk index. Chunk index ini berisiinformasimengenailokasidarichunk-chunkdatayangadadidalamfile. Jadi secara umum file AVI memiliki bentuk berikut: RIFF('AVI ' LIST('hdrl' . . ) LIST('movi' . . ) ['idx1'] ) Chunk"AVI"menunjukkanbahwafileiniadalahfileRIFFdengantipe AVI. Chunk LIST dan chunk index merupakan subchunk dari chunk RIFF "AVI ". ChunkLIST"hdrl"digunakanuntukmenyimpanformatdaridatadanchunkini merupakanchunkLISTpertamayangharusadadidalamfileAVI.ChunkLIST Teori PenunjangII-15 "movi"berisidatayangsesungguhnyadidalamfileAVIdanmerupakanchunk LISTkeduayangharusadadidalam file AVI. Chunk "idx1" adalah chunk index yang bersifat optional (tidak harus ada). Di dalam file AVI, urut-urutan dari ketiga chunk ini tidak boleh ditukar-tukar. Chunk LIST "hdrl" dan chunk LIST "movi" menggunakan subchunk untuk menyimpandatanya.BerikutiniadalahcontohfileAVIdengansubchunkyang melengkapi chunk LIST "hdrl" dan LIST "movi": RIFF('AVI ' LIST('hdrl' 'avih'() LIST('strl' 'strh'() 'strf'() 'strd'(data pelengkap) . . ) . . ) LIST('movi' {Subchunk | LIST('rec ' Subchunk1 Subchunk2 . . ) . . } . . Teori PenunjangII-16 ) ['idx1'] ) Header Utama File AVI FileAVIselaludiawalidenganadanyaheaderutama.DidalamfileAVI, headeriniditunjukkandenganadanyakode4karakter"avih".Headerini berisikan informasi mengenai file tersebut secara umum seperti banyaknya stream yangadadidalamfiletersebutdanlebarsertatinggidarigambarvideoyang terkandung.Secaralengkap,headerutamamemilikistrukturdatayang didefinisikan sebagai berikut: typedef struct { DWORDdwMicroSecPerFrame; DWORDdwMaxBytesPerSec; DWORDdwReserved1; DWORDdwFlags; DWORDdwTotalFrames; DWORDdwInitialFrames; DWORDdwStreams; DWORDdwSuggestedBufferSize; DWORDdwWidth; DWORDdwHeight; DWORDdwScale; DWORDdwRate; DWORDdwStart; DWORDdwLength; } MainAVIHeader; Keteranganmengenaifield-fielddaristrukturdataMainAVIHeaderdapatdilihat pada tabel 2.2. Teori PenunjangII-17 Tabel 2.2 Field-field pada struktur data MainAVIHeader FieldKeterangan dwMicroSecPerFramePanjangperiodewaktudalam microdetik antara satu frame video dengan frame berikutnya. dwMaxBytesPerSecPerkiraanlajudata(datarate)maksimumdarifile dalam satuan byte per detik. dwFlagsBerisiflaguntukfiletersebut.Flag-flagyangdapat digunakan adalah: AVIF_HASINDEX MenandakanbahwafileAVIinimemilikichunk "idx1". AVIF_MUSTUSEINDEXMenandakan bahwa index yang ada harus digunakan untukmenentukanurutandaridatayangada,jadi bukan berdasar urutan data yang ada secara fisik. AVIF_ISINTERLEAVED Menandakan bahwa file AVI ini bersifat interleaved. Data yang bersifat interleaved dapat dibaca dari CD-ROMsecaralebihefisiendibandingkandatayang bersifat non-interleaved. AVIF_WASCAPTUREFILE Menandakanbahwafileinidialokasikankhusus untuk melakukan capture video. AVIF_COPYRIGHTED Menandakanbahwafileinimengandungdatayang dilindungi hak ciptanya. dwTotalFramesJumlah total frame video yang ada di dalam file. dwInitialFramesBanyaknyaframeawalyangdigunakanuntukfile Teori PenunjangII-18 interleaved. dwStreamsMenunjukkanbanyaknyastreamyangadadidalam file.Sebagaicontoh,sebuahfiledenganstream audio dan video memiliki dua buah stream. dwSuggestedBufferSizeUkuranbufferyangdisarankanuntukmembacafile. Secaraumum,besarnyaukuraniniharuscukup untuk menampung chunk yang terbesar di dalam file. Jikadisetterlalukecil,makaakanmenyebabkan programaplikasiplayernyaharusmelakukan realokasimemoripadasaatmelakukanplayback sehinggadapatmengganggukelancaranproses playback. dwWidth dan dwHeightLebar dan tinggi frame video dalam satuan pixel. dwScale dan dwRateDigunakanuntukmenentukanskalawaktuyang digunakanfileinisecarakeseluruhan.Disamping skalawaktukeseluruhanini,setiapstreamyangada dapatmemilikiskalawaktunyasendiri.Skalawaktu dalamsampleperdetikdiperolehdenganmembagi dwRate dengan dwScale. dwStart dan dwLengthMenunjukkan waktu awal dari file serta panjang dari file. Header Stream HeaderutamafileAVIdiikutidengansatuataulebihchunk"strl".Setiap streamyangadaakanmemilikisatuchunk"strl".Chunkiniberisiinformasi mengenaistreamtersebutdidalamfileAVI.Setiapchunk"strl"didalamnya Teori PenunjangII-19 harus berisi chunk header stream dan chunk format stream. Chunk header stream memiliki kode 4 karakter "strh", sedangkan chunk format stream memiliki kode 4 karakter"strf".Sebagaitambahan,chunk"strl"inidapatjugaberisichunkdata stream yang memiliki kode 4 karakter "strd". Header stream memiliki struktur data yang didefinisikan sebagai berikut: typedef struct { FOURCCfccType; FOURCCfccHandler; DWORD dwFlags; DWORD dwReserved1; DWORD dwInitialFrames; DWORD dwScale; DWORD dwRate; DWORD dwStart; DWORD dwLength; DWORD dwSuggestedBufferSize; DWORD dwQuality; DWORD dwSampleSize; } AVIStreamHeader; Keteranganmengenaifield-fielddaristrukturdataAVIStreamHeaderinidapat dilihat pada tabel 2.3. Teori PenunjangII-20 Tabel 2.3 Field-field pada struktur data AVIStreamHeader FieldKeterangan fccTypeMenunjukkan type data yang ada di dalam stream, yaitu audioatauvideo.UntukdatavideofccTypebernilai "vids", sedangkan untuk audio bernilai "auds". fccHandlerKode4karakteryangmenunjukkantypedari compressordandecompressoryangdigunakanoleh data pada stream tersebut. dwFlagsBerisiflaguntukstreamtersebut.Flag-flagyangdapat digunakan adalah: AVISF_DISABLED Menunjukkan bahwa data dari stream hendaknya hanya ditampilkan jika dinyatakan secara eksplisit oleh user. AVISF_VIDEO_PALCHANGES Menunjukkanbahwaterdapatperubahanpalettedi dalam file ini. dwInitialFramesMenunjukkanbanyaknyaframesebelumframeawal untuk file interleaved. dwScale dan dwRateDigunakanuntukmenentukanskalawaktuyang digunakanstreamini.Skalawaktuinimemilikisatuan sampleperdetikdandiperolehdarihasilbagiantara dwRate dengan dwScale. dwStart dan dwLengthMenunjukkan waktu awal dari stream serta panjang dari stream. dwSuggestedBufferSizeUkuran buffer yang disarankan untuk membaca file ini. Secaraumum,besarnyaukuraniniharuscukupuntuk menampungchunkyangterbesardidalamfileini.Jika Teori PenunjangII-21 disetterlalukecil,makaakanmenyebabkanperangkat lunakplayernyaharusmelakukanrealokasimemori padasaatmelakukanplaybacksehinggadapat mengganggu kelancaran proses playback. dwQualityMenunjukkan tingkat kualitas dari stream. dwSampleSizeBesarnya ukuran dari setiap sampel. Beberapafield dari struktur header stream juga terdapat di dalam struktur headerutama.Datapadastrukturheaderutamaberlakuuntukseluruhfile, sedangkandatapadastrukturheaderstreamhanyaberlakuuntukstreamitu sendiri. Chunkformatstream("strf")harusterletakpadaposisisetelahchunk headerstream("strh").Chunkformatstreammenggambarkanformatdatayang adadidalamstream.Untukstreamvideo,informasiinimerupakanstrukturdata BITMAPINFO,sedangkanuntuk stream audio, informasi ini berupa struktur data WAVEFORMATEX atau PCMWAVEFORMAT. Jikaterdapatchunkdatastream("strd"),makachunkiniterletakpada posisisetelahchunkformatstream("strf").Formatdanisidarichunkinidapat bervariasi,tergantungpadadrivercodec(compressor-decompressor)yang digunakan.Umumnya,informasiyangadadisinidigunakanolehdrivercodec untukkeperluankonfigurasi.Untukmembuatprogramaplikasiyangmembaca danmenulisfileAVI,pembuatprogramaplikasitidakmemerlukanisiinformasi ini secara detil. Teori PenunjangII-22 Suatu player AVI akan mengasosiasikan header stream yang ada di dalam chunkLIST"hdrl"dengandatastreamyangadadidalamchunkLIST"movi" berdasarkan urutan posisi dari chunk "strl". Chunk "strl" yang pertama digunakan untuk stream 0, chunk "strl" yang kedua untuk stream 1, dan seterusnya. Sebagai contoh,jikachunk"strl"yangpertamaberisiinformasimengenaiformatdata waveaudio,makadatawaveaudiotersebutterdapatpadastream0.Danjika chunk"strl"yangkeduaberisiinformasimengenaidatavideo,makadatavideo tersebut terdapat pada stream 1. Chunk "movi" Setelahchunkyangberisiinformasimengenaiheaderdaristream,maka terdapat chunk "movi" yang berisi data yang sesungguhnya untuk tiap-tiap stream, yaitudatayangberisigambardansuaraitusendiri.Chunk-chunkdatadapat diletakkansecaralangsungdidalamchunk"movi",ataudapatjuga dikelompokkandalamchunk-chunk"rec".Pengelompokandalamchunk"rec" menunjukkanbahwasekelompokchunktersebuthendaknyadibacadaridisk dalamsatukalipembacaansecarasekaligus.Halinihanyadigunakanuntukfile yang dirancang untuk dimainkan secara interleaved dari CD-ROM. Chunkdatamengandungkode4karakteruntukmenunjukkantypedari chunktersebut.Kode4karakteryangmenandaisetiapchunkterdiridaridua karakteryangmenunjukkannomorurutanstreamdanduakarakterkodeyang menunjukkanjenisinformasiyangterkandungdidalamchunktersebut.Sebagai contoh,chunkyangberisiwaveformaudiomemilikikode"wb"(singkatandari Teori PenunjangII-23 wavebits).Sebagaicontoh,jikachunkwaveformaudioinimemilikiheader stream yang berada di urutan pertama di dalam chunk "hdrl", maka chunk data ini akan memiliki kode 4 karakter "00wb". Karenasemuainformasimengenaiformatdatatelahtercantumdidalam chunkheaderstream,makachunkyangberisidataaudioinitidaklagi mengandunginformasimengenaiformatdataaudiotersebut.Chunkdataaudio memiliki format sebagai berikut: WAVEBytes '##wb' BYTEabBytes[]; dimana##menunjukkannomorurutdariheaderstreamdidalamfileAVI(00, 01, 02, dan seterusnya). DatavideodapatberupaDIBterkompresiatauDIBnon-kompresi.DIB non-kompresi ditandai dengan adanya nilai BI_RGB pada field biCompression di dalamstrukturBITMAPINFO.SedangkanDIBterkompresimemilikinilaiselain BI_RGB pada field biCompression. Chunk data untuk DIB non-kompresi mengandung data video berupa pixel dengan nilai RGB. Chunk ini ditandai dengan kode 2 karakter "db" (singkatan dari DIBbits).Sedangkankode2karakteruntukDIBterkompresiadalah"dc" (singkatandariDIBcompressed).Chunkuntukdatainitidaklagimengandung informasi header mengenai DIB. Jadi chunk data untuk DIB non-kompresi memiliki format sebagai berikut: DIB Bits '##db' BYTEabBits[]; Teori PenunjangII-24 Sedangkan chunk data untuk DIB terkompresi memiliki format sebagai berikut: Compressed DIB'##dc' BYTEabBits[]; Chunk "idx1" FileAVIjugadapatmemilikichunkindexyangterletaksetelahchunk "movi".Chunkindexiniberisidaftarchunkdatadenganlokasidarimasing-masingchunkdatatersebutdidalamfile.Halinimemungkinkandilakukannya aksesdatadidalamfilesecararandomdenganlebihefisien,karenadengan demikianprogramaplikasitidakperlumembacaseluruhchunkdatayangada secara berurutan satu per satu. Chunk index menggunakan kode 4 karakter "idx1", dan untuk setiap entry dari index didefinisikan struktur data sebagai berikut: typedef struct { DWORDckid; DWORDdwFlags; DWORDdwChunkOffset; DWORDdwChunkLength; } AVIIndexEntry; Keteranganmengenaifield-fielddaristrukturAVIINDEXENTRYinidapatdilihat padatabel2.4.StrukturdataAVIINDEXENTRYiniakandicantumkandidalam file AVI secara berulang untuk setiap chunk data yang ada. Teori PenunjangII-25 Tabel 2.4 Field-field pada struktur data AVIINDEXENTRY FieldKeterangan ckIdKode4karakteryangmenunjukkantypedarichunk data, misalnya "00wb", "01db", dan sebagainya. dwFlagsMenunjukkanflaguntukdata.Flag-flagyangdapat digunakan adalah: AVIIF_KEYFRAMEMenunjukkanbahwadatainimerupakankeyframe. Jikasuatuframemerupakankeyframemakaframeini tidak memerlukan informasi dari frame sebelumnya. dwChunkOffsetMenunjukkan posisi dari chunk tersebut di dalam file. dwChunkLengthMenunjukkanbesarukurandarichunktersebutdalam byte,tidaktermasukdelapanbyteyangdigunakan untuk header RIFF. 2.4.2 Format Data Bitmap InformasivideoyangadadidalamfileAVIsesungguhnyaberisi sekumpulangambardiamyangmasing-masingmerupakansuatuDIB(device independentbitmap),yanguntukselanjutnyadisinidisebutsebagaibitmap. Bitmapadalahsuatugambaryangdisimpansecaradigitalsebagaikumpulandari titik-titikyangmasing-masingmemilikiwarnatertentudanmembentuksatu kesatuan.Gambaryangtersimpansebagaibitmapinimemilikibentukpersegi panjang sehingga mempunyai dimensi lebar dan tinggi.Teori PenunjangII-26 Karakteristik lain dari bitmap yang juga penting adalah jumlah warna yang dapatdisimpandalambitmaptersebut.Iniditentukanolehbanyaknyabityang digunakanuntukmenyimpansetiaptitikdaribitmapyangmenggunakansatuan bpp (bit per pixel). Dalam Windows dikenal bitmap dengan 1, 4, 8, 16, dan 24 bit perpixel.Jumlahwarnamaksimumyangdapatdisimpandalamsuatubitmap adalahsebanyak2n,dimananadalahbanyaknyabityangdigunakanuntuk menyimpansatutitikdaribitmap.Berikutinitabelyangmenunjukkanhubungan antarabanyaknyabitperpixeldenganjumlahwarnamaksimumyangdapat disimpan dalam bitmap. Tabel 2.5 Hubungan antara bit per pixeldengan jumlah warna maksimum pada bitmap Jumlah bit per pixelJumlah warna maksimum 12 416 8256 1665536 2416777216 Sebagaimanatelahdisebutkansebelumnya,formatdaribitmapini dinyatakan dalam struktur data BITMAPINFO. Struktur dari BITMAPINFO adalah sebagai berikut: typedef struct tagBITMAPINFO {/* bmi */ BITMAPINFOHEADERbmiHeader; RGBQUAD bmiColors[1]; } BITMAPINFO; Teori PenunjangII-27 FieldbmiHeaderberisistrukturdataBITMAPINFOHEADERyangberisi informasi mengenai ukuran dan format warna dari bitmap. FieldbmiColorsberisiarraydaristrukturdataRGBQUADyangmendefinisikan warna dari bitmap. AdapunstrukturdariBITMAPINFOHEADERdidefinisikansebagai berikut: typedef struct tagBITMAPINFOHEADER {/* bmih */ DWORD biSize; LONGbiWidth; LONGbiHeight; WORDbiPlanes; WORDbiBitCount; DWORD biCompression; DWORD biSizeImage; LONGbiXPelsPerMeter; LONGbiYPelsPerMeter; DWORD biClrUsed; DWORD biClrImportant; } BITMAPINFOHEADER; Keteranganmengenaifield-fielddaristrukturBITMAPINFOHEADERinidapat dilihat pada tabel 2.6. Teori PenunjangII-28 Tabel 2.6 Field-field pada struktur data BITMAPINFOHEADER FieldKeterangan biSizeMenunjukkanbesarukuranyangdibutuhkanoleh struktur BITMAPINFOHEADER ini dalam byte. biWidthMenunjukkan lebar dari bitmap dalam satuan pixel. biHeightMenunjukkan tinggi dari bitmap dalam satuan pixel. biPlanesMenunjukkanjumlahplaneuntukbitmap.Fieldini harus selalu diset bernilai 1. biBitCountMenunjukkanjumlahbityangdiperlukanuntuksatu pixel. Field ini dapat memiliki nilai 1, 4, 8, 16, atau 24. biCompressionMenunjukkan type kompresi untuk bitmap terkompresi. Field ini dapat bernilai salah satu dari: BI_RGBBitmap tidak terkompresi. BI_RLE8 Bitmap terkompresi secara RLE dengan 8 bit per pixel. BI_RLE4 Bitmap terkompresi secara RLE dengan 4 bit per pixel. biSizeImageMenunjukkan besar ukuran bitmap dalam byte. biXPelsPerMeter danbiYPelsPerMeter Menunjukkanresolusihorisontaldanvertikal,dalam pixel per meter. biClrUsedMenunjukkanjumlahwarnayangsesungguhnya digunakan di dalam bitmap. biClrImportantMenunjukkanjumlahwarnayangdianggappentingdi dalambitmap.Jikabernilai0,makaseluruhwarna dianggap penting. Teori PenunjangII-29 Sedangkan strukur data dari RGBQUAD adalah sebagai berikut: typedef struct tagRGBQUAD { /* rgbq */ BYTErgbBlue; BYTErgbGreen; BYTErgbRed; BYTErgbReserved; } RGBQUAD; FieldrgbBlue,rgbGreen,danrgbRedadalahhargamasing-masingkomponen biru, hijau, dan merah untuk warna. 2.4.3 Format Data Waveform Audio Secaraumumdataaudiodigitalmemilikikarakteristikyangdapat dinyatakan dengan parameter-parameter berikut: lajusampel(samplingrate)dalamsampel/detik,misalnya22050atau44100 sampel/detik. jumlah bit tiap sampel, misalnya 8 atau 16 bit. jumlah kanal, yaitu 1 untuk mono dan 2 untuk stereo. Parameter-parametertersebutmenyatakansettingyangdigunakanoleh ADC(Analog-to-DigitalConverter)padasaatdataaudiodirekam.Biasanyalaju sampel juga dinyatakan dengan satuan Hz atau kHz.Sebagaigambaran,dataaudiodigitalyangtersimpandalamCDaudio memilikikarakteristiklajusampel44100Hz,16bitpersampel,dan2kanal (stereo),yangberartisetiapsatudetiksuaratersusundari44100sampel,dan setiap sampel tersimpan dalam data sebesar 16-bit atau 2 byte. Teori PenunjangII-30 Laju sampel selalu dinyatakan untuk setiap satu kanal. Jadi misalkan suatu dataaudiodigitalmemiliki2kanaldenganlajusampel8000sampel/detik,maka sesungguhnya di dalam setiap detiknya akan terdapat 16000 sampel. Sebagaimana telah dijelaskan sebelumnya bahwa untuk stream data audio menggunakanheaderberupastrukturPCMWAVEFORMAT.PCMmerupakan singkatandariPulseCodedModulation,yaitusuatumetodeyangdigunakan untuk mengkonversikan sinyal audio dari bentuk analog ke bentuk digital.. Adapun struktur dari PCMWAVEFORMAT adalah sebagai berikut: typedef struct { WAVEFORMAT wf;WORD wBitsPerSample;} PCMWAVEFORMAT; FieldwfmerupakanstrukturWAVEFORMATyangberisiketeranganumum mengenai format data audio. Field wBitsPerSample menunjukkan banyaknya bit per sample. Adapun struktur data dari WAVEFORMAT adalah sebagai berikut: typedef struct { WORDwFormatTag;WORDnChannels;DWORD nSamplesPerSec;DWORD nAvgBytesPerSec;WORDnBlockAlign;} WAVEFORMAT; Teori PenunjangII-31 Keteranganmengenaifield-fielddaristrukturWAVEFORMATinidapatdilihat pada tabel 2.7. Tabel 2.7 Field-field pada struktur data WAVEFORMAT FieldKeterangan wFomatTagMenunjukkantypeformatdatadanmemilikinilai WAVE_FORMAT_PCM. nChannelsMenunjukkanbanyaknyakanalyangadadidalamdata waveformaudio.Untuk mono menggunakan satu kanal sedangkan untuk stereo menggunakan dua kanal. nSamplesPerSecMenunjukkanbesarnyasampleratedalamsampleper detik. nAvgBytesPerSecMenunjukkan rata-rata laju transfer data, dalam byte per detik.MisalnyauntukPCM16-bitstereopada44.1 kHz,nAvgBytesPerSecbernilai176400(2kanal*2 byte per sample * 44100 ). nBlockAlignMenunjukkanbanyaknyabyteyangdigunakanuntuk satubuahsample.MisalnyauntukPCM16-bitmono, nBlockAlign akan bernilai 2. Teori PenunjangII-32 2.5 MODEL WARNA Pemodelanwarnadigunakanuntukmenggambarkansifat-sifatwarna secaramatematis,sehinggadengandemikiandapatdilakukanpengolahancitra digitaldengancaramemanipulasinilai-nilaiwarnadaricitratersebutsecara matematis. Modelwarnayangpalingbanyakdigunakandibidangkomputermaupun elektronikaadalahmodelRGB(red-green-blue).ModelRGBinicocok digunakandalam implementasi perangkat keras elektronik dan penyimpanan data secaradigital,namundemikianperubahannilaiyangterjadipadakomponen-komponenwarnamodelRGBinisulitdiikutiolehkepekaanpenglihatanmata manusia.Matamanusiatidakcukuppekauntukdapatmembedakanadanya perubahan nilai untuk masing-masing komponen merah, hijau, dan biru. Untuk itu digunakan juga model warna HSL (hue-saturation-luminosity), karena pendekatan dengan model ini lebih sesuai dengan kepekaan penglihatan mata manusia. 2.5.1 Model Warna RGB DidalammodelwarnaRGB,setiapwarnadapatdidefinisikandalamtiga komponenwarnayaitukomponenR(merah),G(hijau),danB(biru).Warna-warnayanglaindapatdiperolehdenganmelakukankombinasidarimasing-masingkomponenR,G,danBdengannilainyamasing-masing.Dalam penerapannyadibidangkomputer,hargadaritiap-tiapkomponenR,G,danB berkisardari0sampai255.Sebagaicontoh,warnamerahmurnimemiliki komponenR=255,G=0,B=0,warnahijaumurnimemilikihargaR=0,G=255, Teori PenunjangII-33 B=0,danseterusnya.UntukwarnahitammemilikihargaR=0,G=0,danB=0, sedangkan warna putih memiliki harga R=255, G=255, dan B=255.ModelwarnaRGBinidapatdigambarkansebagaisebuahkubusdalam koordinatCartesian,dimanamasing-masingsumbumewakilihargadari komponen-komponen R, G, dan B2. Gambar 2.1 Model Warna RGB 2 ibid hal. 226 G R B Merah Hijau Biru Putih Hitam Kuning Magenta Sian Teori PenunjangII-34 PadakubuswarnaRGBini,warnahitamterletakpadasudutkubusdi posisi(0,0,0),danwarnaputihpadaposisi(255,255,255).Sudut-sudutkubus yangberimpitdengansumbu-sumbukoordinatditempatiolehwarna-warna merah, hijau, dan biru yang disebut juga dengan warna primer. Sedangkan sudut-sudutkubusyanglainnyaditempatiolehwarna-warnasian,magenta,dankuning yang disebut juga dengan warna sekunder. 2.5.2 Model Warna HSL DidalammodelHSL,setiapwarnadapatdidefinisikandalamkomponen H (Hue), S (Saturation), dan L (Luminosity).KomponenHadalahkomponenyangmenggambarkancorakdariwarna. KomponenHinimerupakankomponenyangsangatmenentukandalamsuatu warna,karenahargakomponeninilahyangmenentukanapakahsuatubenda dikatakan berwarna merah, jingga, kuning, hijau, biru, dan sebagainya.KomponenSmenunjukkantingkatkemurniansuatuwarna,jadisemakin tingginilaiSmakawarnatersebutsemakinmurnidanakansemakintampak cerah,sedangkansemakinrendahnilaiSmakawarnaakansemakinsuramdan semakin mendekati abu-abu.KomponenLmenunjukkantingkatketerangan(brightness)suatuwarna. Jika nilai L semakin rendah maka warna akan terlihat semakin gelap atau semakin mendekati hitam, sedangkan jika nilai L semakin tinggi maka warna akan terlihat semakin terang atau semakin mendekati putih. Teori PenunjangII-35 ModelwarnaHSLinidapatdigambarkandengansebuahsegitigayang pada sisi atas dan sisi bawahnya terdapat semacam piramid3. PadagambarmodelwarnaHSL,hargaHdariwarnaPadalahsudutyang terbentukolehgarissumbuwarnamerahterhadapgarisyangmenghubungkan titik P dengan pusat segitiga. Jadi, warna merah memiliki harga H=0, warna hijau memiliki harga H=120, warna biru memiliki harga H=240. Gambar 2.2 Model Warna HSL 3 ibid hal.229 MerahHijau Biru H P Biru Merah Hijau Luminocity Putih Hitam Tampak AtasTampak Samping Teori PenunjangII-36 HargaSdinyatakansebagaijarakdaripusatsegitigaketitikP.Jadi semakinjauhjaraktersebut,semakinbesarpulahargaS.SedangkanhargaL adalahjarakdarititikPsecaravertikalterhadappuncaklimassegitigabagian bawah.Semakinbesarjaraktersebut,hargaLakansemakinbesar,warnaakan semakinterangdansemakinmendekatiputih.Padapuncaklimassegitiga bagian ataswarnaakanmenjadiputih(hargaLmaksimum),sedangpadapuncaklimas bagian bawah warna akan menjadi hitam (harga L minimum). 2.5.3 Konversi Model Warna RGB - HSL UntukmemperolehhargakomponenwarnadalamHSLjikakita mengetahuihargakomponenwarnanyadalamRGB,dapatdigunakanrumus sebagai berikut4: L R G B = + +13( )[ ] SR G BR G B = + +13( )min( , , )HR G R BR G R B G B= + + `)cos[( ) ( )][( ) ( )( )]/1122 1 2 Untuk B > G, maka H = 360 - H. Padarumusdiatas,diasumsikanbahwahargaR,G,danBdinormalisasi sehinggamemilikihargadidalamrange[0,1].Hasilyangdiperolehuntuk 4ibid hal.234 Teori PenunjangII-37 komponenH,SdanLjugaharusberadadidalamrange[0,1].Untukitumaka dirumuskan H = H / 360. UntukmelakukankonversidarimodelHSLkemodelRGBdapat digunakan rumus berikut5: Untuk 0 < H 255?smpl_out = 0smpl_out = 255Perencanaan dan Pembuatan Perangkat LunakIII-14 Sebelumkeduasampelmasukandijumlahkan,makahargadarimasing-masing sampel harus dikurangi dahulu dengan nilai tengah dari sampel 8 bit, yaitu 128.Halinidisebabkankarenadatayangtersimpansebagaitypebytememiliki nilai antara 0 sampai 255. Sedangkan sinyal audio digital 8 bit yang sesungguhnya akanmemilikihargadari-128sampai127.Untukitupadasaatpenyimpanannya didalamkomputer,harga-128sampai127iniharusdikonversimenjadiharga0 sampai255.Untukitu,setelahkeduasampelmasukandijumlahkan,hasil penjumlahannyaharusditambahkanlagidengan128.Setelahitu,hasil penjumlahantadidicekapakahharganyatidakberadadiluarkisaranharga minimum dan harga maksimumnya, yaitu dari 0 sampai 255. Jika kurang dari dari hargaminimummakaakandisetmenjadisamadenganhargaminimum, sedangkan jika lebih dari harga maksimum maka akan diset menjadi sama dengan harga maksimum. Pengaturan Volume Audio Untukmenambahkanpengaturanlevelvolumedaristreamaudioyang dijumlahkan,makamasing-masingdarihargavalBgdanValFgharusdikalikan terlebihdahuludenganfaktorpengaliyangdapatdisetuntukmasing-masing stream audio masukan. Prosestersebutdiatasdilakukanuntuksetiapsampelaudioyangada sehinggahasilkeluarannyaakanmerupakansejumlahsampelaudioyang membentukstreamaudiobaruyangberisigabunganantarakeduastreamaudio masukannya. Perencanaan dan Pembuatan Perangkat LunakIII-15 Setelahpenggabunganbagianvideodanpenggabunganbagianaudio selesaidilakukan,makastreamvideodanstreamaudiohasilgabungannyaakan disimpan bersama-sama sehingga membentuk satu file AVI yang baru. 3.3 PENGGABUNGAN FILE AVI SECARA MULTI SEGMEN Setelahdibahasmetodeyangdigunakanuntukmenggabungkanstream videomaupunstreamaudio,padabagianiniakandibahasmengenai penggabungan file AVI secara multi segmen.YangdimaksuddenganmultisegmendisiniadalahbahwafileAVI backgrounddapatdibagimenjadibeberapasegmen.Setiapsegmenterdiridari beberapaframeyangberurutandantidakbolehterdapatframeyangsaling bertumpuk(overlap)antarasegmenyangsatudengansegmenyanglain.Setiap segmendapatdigabungkandenganfileAVIforegroundyangberbeda.Dengan demikianmakasatufileAVIuntukbackgrounddapatdigabungkandengan beberapafileAVIforegrounddimanamasing-masingfileAVIforeground tersebutakanmenempatidaerahwaktuyangberbeda.Jikadiinginkanpergantian file AVI foreground setelah mencapai adegan tertentu pada file AVI background, maka dapat ditempatkan pada segmen selanjutnya. Suatu segmen juga dapat diset oleh pemakai agar tidak digabungkan dengan file AVI apapun. Untuklebihmemperjelas,sistemmultisegmeninidapatdigambarkan dengan contoh yang dapat dilihat pada gambar 3.7. Pada gambar tersebut file AVI backgrounddibagimenjadi4segmen.Segmenpertamadigabungkandenganfile Perencanaan dan Pembuatan Perangkat LunakIII-16 AVIforeground1,segmenkeduadansegmenkeempatdibiarkantetapseperti aslinya, sedangkan segmen ketiga digabungkan dengan file AVI foreground 2. Pemakaidapatmemilihsendirimulaipadaframekeberapasampaiframe keberapa dia akan menentukan isi suatu segmen pada file AVI background. Gambar 3.7 Penggabungan File AVI Secara Multi Segmen Informasiuntuksetiapsegmendisimpandidalamvariabelarraybertype record TOutSegment yang didefinisikan sebagai berikut: TOutSegment=record sFgFilename: String; nTotalFrame_FgAVI: Integer; nBgStartFrame: Integer; nBgEndFrame: Integer; nFgStartFrame: Integer; nFgEndFrame: Integer; nOutStartFrame: Integer; AVI output AVI background AVI foreground 2AVI foreground 1 segmen 1segmen 3 segmen 4segmen 2 Perencanaan dan Pembuatan Perangkat LunakIII-17 nJumOutFrame: Integer; keyColor: DWORD; keyColorTol: Integer; lFgAudioExist: Boolean; nBgAudioStartSample: Integer; nBgAudioEndSample: Integer; nFgAudioStartSample: Integer; nFgAudioEndSample: Integer; nOutAudioStartSample: Integer; nJumOutAudioSample: Integer; nBgAudioVolume: Integer; nFgAudioVolume: Integer; nTranspLevel: Integer; lOverlay: Boolean; end; Dengan demikian, setiap segmen akan berisi informasi mengenai: nama file AVI foreground yang dipilih dan jumlah total framenya frameawaldanframeakhiryangdipilihuntukAVIbackground maupun AVI foreground nomor urut frame awal pada output dan jumlah frame yang dihasilkan warna kunci dan toleransi warna kunci sampelawaldansampelakhiraudiountukAVIbackgroundmaupun AVI foreground nomorurutsampelawalaudiopadaoutputdanjumlahsampelaudio yang dihasilkan Perencanaan dan Pembuatan Perangkat LunakIII-18 3.4 PEMILIHAN FRAME VIDEO YANG AKAN DIGABUNG Perangkatlunakinijugadirancangsehinggapemakaidapatmenentukan pilihanmulaidariframeke-berapasampaiframeke-berapadarifileAVI foregroundyangakandigabungkankesebuahsegmen.Jaditidakharusseluruh frameyangadapadafileAVIforegroundikutdigabungkan.Dengandemikian pemakai akan lebih leluasa untuk memilih sendiri adegan-adegan mana yang akan digabungkan ke dalam suatu segmen.Pada saat pemakai memilih nomor urut frame awal dan frame akhir, maka akanlangsungditampilkanjumlahframeyangdipilih.Jikajumlahframeyang dipilihpadasuatusegmenternyatatidaksamaantarajumlahframeAVI background dengan jumlah frame AVI foreground, maka jumlah frame yang akan disimpanakandiambildarijumlahframeyanglebihbanyak.Tetapi penggabunganframehanyaakandilakukansampaipadaframeterakhirdarifile AVIyangjumlahframeterpilihnyalebihsedikit.UntukfileAVIyangjumlah frameterpilihnyalebihbanyak,kelebihanframenyaakandisimpandalambentuk yang tetap sama dengan aslinya (tidak digabung dengan frame apapun).Sebagaicontoh,pemakaimelakukansettingpadasuatusegmensebagai berikut: AVI background: Start Frame=0, End Frame=100, Total Frame=101. AVI foreground: Start Frame=0, E nd Frame=80, Total Frame=81. Maka akan dihasilkan frame output sebanyak 101 frame dimana 81 frame pertama merupakan gabungan antara AVI background dengan AVI foreground, sedangkan 20 frame berikutnya langsung diambil dari frame pada AVI background. Perencanaan dan Pembuatan Perangkat LunakIII-19 3.5 PENULISAN DATA KE FILE AVI UntukmembuatsuatufileAVIterlebihdahuluharusdiciptakanstream-streamyangakandituliskankefiletersebut.Stream-streaminiharusdiciptakan dulu dengan menggunakan fungsi AVIFileCreateStream() dan menentukan format streamtersebutdenganmenggunakanfungsiAVIStreamSetFormat().Untuk streamvideo,formatstreamharusdisiapkanterlebihdahuludalambentuk strukturdataBITMAPINFO.Untukstreamaudio,formatstreaminiharus disiapkan terlebih dahulu dalam bentuk struktur data PCMWAVEFORMAT. Jikastreamtelahdibuat,makadatayangberupaframe-framevideoatau sampel-sampel audio hasil gabungan dapat dimasukkan pada stream tersebut pada posisi yang sesuai. Data yang dituliskan pada stream harus memiliki format yang sama dengan yang telah diset untuk stream tersebut, yaitu seperti yang dinyatakan di dalam struktur BITMAPINFO atau PCMWAVEFORMAT. 3.6 PERANCANGAN TAMPILAN PERANGKAT LUNAK Untuk merancang perangkat lunak yang mudah digunakan perlu dilakukan perancanganlangkah-langkahpengoperasianprogrammaupunbentuktampilan yangakandigunakanolehpemakaiuntukberinteraksidengansuatuperangkat lunak.Padaperangkatlunakinidiusahakanagarpemakaidapatmenggunakan programsecaramudahdancepat.Namundemikian,diusahakanjugaagar programtetapfleksibelsehinggadapat memenuhi kebutuhan pemakai yang ingin menggunakan fasilitas lebih lanjut. Perencanaan dan Pembuatan Perangkat LunakIII-20 Perangkat lunak ini menggunakan sistem multi-window, di mana di dalam satuprogramaplikasiterdapatbeberapawindowdidalamnya.Windowyang pertamadinamakansebagai'ProjectWindow'.Windowinidigunakanuntuk menempatkan semua parameter yang dimasukkan oleh pemakai.Informasiyangditampilkanpadawindowinimeliputijumlahsegmen, namafileAVIbackgrounddanforegroundyangdigunakan,nomorframeawal danframeakhir,jumlahtotalframe,warnakunci,danlevelvolumeaudiountuk masing-masing segmen. Windowyangkeduadanketigamasing-masingadalahwindow 'BackgroundVideo'dan'ForegroundVideo'yangdigunakanuntukmenampilkan frame-frameyangterkandungdidalamfileAVIbackgrounddanfileAVI foreground.Untuk menampilkan hasil sementara dari penggabungan frame, disediakan window'OutputPreview'.Denganadanyawindowini,pemakaidapatmencoba mengubah-ubahparameterpenggabunganfileAVIdanmelihathasilgabungan perframe-nyapadawindowtersebut.Jadijika hasil gabungannya ternyata belum sesuaidenganyangdiinginkan,dapatdilakukanpengubahanparametersebelum hasil gabungan disimpan secara permanen ke dalam suatu file. Disampingitumasihterdapatsatuwindowlagi,yaituwindow'AVI Player' yang berfungsi sebagai pelengkap untuk memainkan file AVI background, fileAVIforeground,ataufileAVIlainyangdapatditentukansendirioleh pemakai. Perencanaan dan Pembuatan Perangkat LunakIII-21 3.7 PENAMBAHAN EFEK TRANSPARANSI Untuk menghasilkan efek transparan antara objek pada foreground dengan objekpadabackground,makasetiappixelyangadapadagambarforeground diprosesdenganpixelyangsamaposisinyayangadapadagambarbackground. Proses yang dilakukan untuk setiap pixel adalah sebagai berikut: 1.Masing-masingpixelpadagambarforegroundmaupunbackground dipisahkan menjadi komponen R, G, dan B. 2.Masing-masingkomponenR,G,danBuntukpixelforegroundmaupun background dijumlahkan kemudian dibagi dua sehingga diperoleh harga R, G, dan B yang baru. 3.HargaR,G,danByangbaruinidigabungkansehinggamenjadiwarnapixel baru sebagai hasil gabungan. Karena pixel hasil gabungan mengandung warna yangberasaldariforegroundmaupunbackground,makaakantimbulkesan bahwakeduagambartampilbersama-samasehinggatampakseakan-akan transparan. IV-1 BAB IV CARA PENGOPERASIAN PERANGKAT LUNAK PerangkatlunakAVIMixerinidirancanguntukdijalankanpadasistem operasiMicrosoftWindows95.Untukdapatmenggunakanprograminiterlebih dahulu harus disiapkan file-file AVI yang akan digunakan sebagai masukannya.UntukmemperolehfileAVIyangakandigunakansebagailatarbelakang, dapatdigunakanhasilrekamandarikameravideo,kemudiandiambildengan menggunakanperangkatkerasvideocapture.Selaindengancaraitu,jugadapat langsungmengambilhasilcapturedariacaratelevisidenganmenggunakan perangkat keras Media Capture. Atau dapat juga dihasilkan dari file MPEG yang diperolehdariVCD,kemudiandikonversidenganprogramMPEGConverter sehingga menghasilkan file video dengan format AVI. UntukmemperolehfileAVIyangberisianimasiyangakandigunakan sebagai latar depan, dapat dibuat dengan menggunakan program seperti Asymetrix 3DF/X,AnimationEditor,AutodeskAnimator,CorelMove,LightWave3D,Ray Dream Studio, dan lain-lain. FileAVIyangakandigunakansebagaimasukandapatmengandung stream audio ataupun tidak. Jika file AVI masukannya tidak mengandung stream audio, maka file AVI keluarannya juga tidak akan mengandung stream audio. Padasaatprogramdijalankanpertamakalimakaakanmuncultampilan awal yang menampilkan sebuah window dengan judul 'Project Window'. Cara Pengoperasian Perangkat LunakIV-2 4.1 PENGISIAN PARAMETER-PARAMETER MASUKAN PadaProjectWindowiniterdapatberbagaimasukanyangdapatdiisikan oleh pemakai untuk menentukan parameter-parameter yang akan digunakan dalam penggabungan file AVI. Parameter-parameter ini meliputi: Nama file AVI yang akan digunakan sebagai background. Nama file AVI yang akan digunakan sebagai foreground. Pemilihan nomor frame awal dan nomor frame akhir dari setiap file AVI yang akan digabungkan, baik sebagai foreground maupun background. Warnakuncidanbesartoleransiwarnakunciyangakandigunakandalam proses chromakey. Level volume untuk stream audio dari masing-masing file AVI masukan yang akan digabungkan. JumlahsegmenpadaprosespenggabunganfileAVI.Setiapsegmendapat menggunakanfileAVIforegroundyangberbeda,dapatdigabungkanpada nomorframeyangberbeda,dandapatmenggunakanwarnakunciyang berbedapula.Padaakhirnyamasing-masingsegmeniniakandigabungkan secaraberurutanuntukmenghasilkankeluaranberupasebuahfileAVIyang baru. PadaProjectWindowinijugaditampilkaninformasiberupajumlah segmen, nama file AVI untuk background maupun foreground, nomor urut frame awaldanframeakhiryangdipilih,jumlahtotalframeyangdipilih,sertanilai RGB dan nilai HSL dari warna kunci yang dipilih. Contoh tampilan dari Project Window adalah sebagai berikut: Cara Pengoperasian Perangkat LunakIV-3 Gambar 4.1a Gambar 4.1b Cara Pengoperasian Perangkat LunakIV-4 Gambar 4.1c Gambar 4.1 Tampilan Pada Saat Pengisian Parameter Masukan DisampingProjectWindow,terdapatjugabeberapawindowyanglain yang masing-masing memiliki fungsi sebagai berikut: WindowBackgroundVideo.Windowinibergunauntukmelihatisiframe-framedarifileAVIyangdigunakansebagailatarbelakang.Padawindowini pemakaidapatmemilihuntukmelihatgambarpadaposisiframeyang diinginkan. WindowForegroundVideo.Windowinibergunauntukmelihatisiframe-framedarifileAVIyangdigunakansebagailatardepandanuntukmemilih Cara Pengoperasian Perangkat LunakIV-5 warnakunci.Padawindowinipemakaidapatmemilihuntukmelihatgambar pada posisi frame yang diinginkan. WindowOutputPreview.Windowinibergunauntukmelihatlebihdahulu sepertiapaframehasilgabunganyangakandiperolehsebelumdisimpanke dalamfileAVIsecarapermanen.Denganadanyafasilitasinimakapemakai akantahuapakahhasilpenggabungangambaryangdiperolehtelahsesuai denganyangdikehendaki.Jikabelum,makapemakaimemilikikesempatan untukmemperbaikinyadenganmengaturparameter-parametersepertiwarna kunci, besar toleransi warna kunci, dan posisi urutan frame. Window AVI Player. Window ini berfungsi untuk memainkan suatu file AVI, baikfileAVIuntukbackground,foreground,ataufileAVIhasilgabungan yang telah disimpan. 4.2 LANGKAH-LANGKAH PENGGABUNGAN FILE AVI Urutan langkah-langkah yang harus dilakukan yang untuk menggabungkan file AVI dengan menggunakan perangkat lunak ini adalah sebagai berikut: 1.MemilihfileAVIyangakandijadikansebagaibackground.FileAVIyang akandigunakansebagaibackgroundinimerupakanfileAVIyangberisi gambarrekamanlangsungdaridunianyata.Untukmemilihfileyangakan berperansebagaibackground,dilakukandenganmenekantombol'Select Background AVI...', kemudian memilih file yang diinginkan. 2.Menentukanjumlahsegmenyangdiinginkan.Jikatidakditentukan,maka jumlah segmen default adalah satu. Cara Pengoperasian Perangkat LunakIV-6 3.MemilihfileAVIyangakandijadikansebagaiforegrounduntuksetiap segmen.FileAVIyangakandigunakansebagaiforegroundinibiasanya merupakanfileAVIyangberisigambarbergerakhasilanimasikomputer. Untuk memilih file yang akan berperan sebagai foreground, dilakukan dengan mengaktifkancheckbox'ForegroundAVI',kemudianmemilihfileyang diinginkan. 4.Menentukannomorurutframeawaldanframeakhirdarimasing-masingfile AVIyangakandigabungkan.Fasilitasinidiberikanuntukmemberikan keleluasaankepadapemakaisehinggapemakaidapatmemilihadegan-adegan manayangdiinginkanuntukditambahkangambarhasil animasi di dalamnya. Halinidisebabkankemungkinanadanyaadegan-adegantertentuyang diinginkantetapsepertiaslinya,jaditidakperludigabungkandengangambar lain.Pemilihanframeawaldanframeakhiriniberlakuuntuksetiapsegmen. JadifileAVIhasilkeluaranakanmerupakandisusundarisegmen-segmendi manamasing-masingsegmenmerupakanhasilgabungandarifileAVI backgrounddenganfileAVIforeground.Untuksetiapsegmennya,pemakai dapatmemilihfileAVIforegroundyangberbeda,danjugamenentukan nomor urut frame awal dan nomor urut frame akhir yang diinginkan. 5.Menentukanwarnakunciyangakandigunakanuntukproseschromakey. Untukmemilihwarnakunci,dapatdilakukandenganmemilihwarnapada kotakdialogwarnaataudapatjugadengancaramenunjuknyadenganmouse secara langsung pada gambar AVI foreground yang ditampilkan. Harga warna yangdipilihsebagaiwarnakunciakanditampilkanpadaProjectWindow. Cara Pengoperasian Perangkat LunakIV-7 Warnakunciyangdipakaiuntuksatusegmendapatberbedadenganwarna kunci yang dipakai untuk segmen lain. 6.Menentukanbesartoleransiwarnauntukwarnakunciyangtelahdipilih. Harga dari toleransi warna ini berkisar dari 0 sampai 255. Jika toleransi warna inidisetnol,makaproseschromakeyakanberlangsunglebihcepat,namun dengansyaratbahwawarnatersebutterdapatpadagambarAVIforeground secara merata tanpa ada variasi sedikitpun. 7.Menentukanlevelvolumeuntukstreamaudioyangakandigabungkanuntuk masing-masing file AVI. Level volume ini dapat diatur mulai dari 0% sampai dengan 300% terhadap level volume asalnya. 8.Melihat hasil penggabungan sementara melalui window 'Output Preview'. Jika hasilnyabelumsesuaidenganyangdiinginkan,makadapatdiadakan perubahan pada warna kunci atau harga toleransi warna. 9.Jika pengaturan semua parameter sudah selesai dilakukan, maka file AVI hasil gabungan dapat disimpan dengan nama yang diinginkan. Seluruhinformasimengenaisettingparameteryangtelahdilakukanjugadapat dilihat secara lengkap melalui pilihan menu 'Tools | Information'. V-1 BAB V PENUTUP Setelahmelaluiberbagaipercobaan,perbaikandanpenyempurnaan, program ini dapat bekerja dengan cukup baik, bahkan dapat juga digunakan untuk menggabungkan file AVI yang keduanya merupakan hasil rekaman kamera video. Dari laporan tugas akhir yang dibuat oleh penyusun ini, dapat diperoleh beberapa kesimpulandansaranyangdiharapkandapatbergunabagiperkembanganilmu pengetahuan dan teknologi. 5.1 KESIMPULAN Beberapakesimpulanyangdiperolahdarihasillaporantugasakhirini antara lain: 1.DenganmenggabungkanfileAVIhasilrekamandenganfileAVIhasil animasi komputer maka dapat diperoleh file AVI baru yang lebih menarik.2.Denganmemahamiformatfiledatamultimedia,teknikpengolahandata gambar,danteknikpengolahandataaudio,makadapatdipelajaribagaimana membuat perangkat lunak aplikasi multimedia. 3.Untuk memperoleh hasil yang bagus dalam proses penggabungan video, maka warnakunciyangdipilihuntukproseschromakeyhendaknyamerupakan warnayangtidakterkandungataupalingsedikitterkandungdidalamobjek yang ingin ditampilkan. PenutupV-2 5.2 SARAN-SARAN Adapunsaranyangdigunakanuntukpengembanganperangkatlunakini adalah: 1.Perangkatlunakinidapatdikembangkanmenjadisuatuperangkatkeras sehinggaprosespenggabungandapatberlangsunglebihcepatkarenatidak perlu terlalu banyak menyita waktu pada CPU. 2.Dengan kecepatan proses penggabungan yang tinggi, maka perangkat keras ini dapatdikembangkanuntukmengolahdataaudio-videosecarareal-time dengan laju frame yang lebih tinggi. 3.Untuklebihmenghematkapasitasmediapenyimpanan,fileaudio-videohasil keluaran dapat dikonversi dari format AVI ke format lain yang membutuhkan kapasitas lebih kecil seperti format MPEG, misalnya. DAFTAR PUSTAKA Charles Calvert, "DELPHI PROGRAMMING UNLEASHED", Indianapolis: Sams Publishing, 1995 Microsoft Corporation, "MICROSOFT WIN32 PROGRAMMER'S REFERENCE", Redmond: Microsoft Corporation, 1996 Microsoft Corporation, "WIN32 MULTIMEDIA PROGRAMMER'S REFERENCE", Redmond: Microsoft Corporation, 1996 Microsoft Corporation, "VIDEO FOR WINDOWS PROGRAMMER'S GUIDE", Redmond: Microsoft Corporation, 1993 Microsoft Corporation, "MULTIMEDIA PROGRAMMING INTERFACE AND DATA SPECIFICATIONS ", Redmond: Microsoft Corporation, 1991 Rafael C Gonzales & Richard E Woods, "DIGITAL IMAGE PROCESSING", Massachusetts: Addison-Wesley Publishing Company, 1992 Steve Rimmer, "ADVANCED MULTIMEDIA PROGRAMMING", USA: Windcrest/McGraw-Hill Inc., 1995 LAMPIRAN A.Tampilan Program Gambar A.1 Contoh Tampilan Frame AVI Background Gambar A.2 Contoh Tampilan Frame AVI Foreground Gambar A.3 Contoh Tampilan Frame AVI Hasil Gabungan DAFTAR RIWAYAT HIDUP Nama:Setyo Nugroho Tempat/tgl lahir:Wonogiri, 29 Maret 1973 Agama:Islam Nama Ayah:Martono, BSc Nama Ibu:Sri Pudjansih Alamat:Jl Menco II / 02 Wonogiri 57611 - Jateng Penulis adalah anak kedua dari empat bersaudara. Riwayat Pendidikan: -TK Bhayangkari, Wonogiri (1977-1979) -SD Negeri IV, Wonogiri (1979-1985) -SMP Negeri 1, Wonogiri (1985-1988) -SMA Negeri 1, Wonogiri (1988-1991) -Institut Teknologi Sepuluh Nopember (ITS) Surabaya, Jurusan Teknik Elektro, Bidang Studi Teknik Sistem Komputer (1991-sekarang) Pengalaman Kemahasiswaan: -Asisten Praktikum Pemrograman Komputer -Asisten Praktikum Rangkaian Logika