• Tidak ada hasil yang ditemukan

TUGAS AKHIR PEMROSESAN SUARA PADA OTOMATISASI PENGUJIAN KETAHANAN BATERAI MAINAN BERSUARA

N/A
N/A
Protected

Academic year: 2019

Membagikan "TUGAS AKHIR PEMROSESAN SUARA PADA OTOMATISASI PENGUJIAN KETAHANAN BATERAI MAINAN BERSUARA"

Copied!
114
0
0

Teks penuh

(1)

TUGAS AKHIR

PEMROSESAN SUARA PADA OTOMATISASI PENGUJIAN

KETAHANAN BATERAI MAINAN BERSUARA

Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik

Program Studi Teknik Elektro

Oleh:

L. KUNCORO PROBO SAPUTRA

NIM: 075114007

PROGRAM STUDI TEKNIK ELEKTRO

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

(2)

FINAL PROJECT

SOUND PROCESSING IN AUTOMATION OF AUDIBLE

TOY BATTERY LIFE TEST

Presented as Partial Fullfillment of the Requirements To Obtain the Sarjana Teknik Degree

In Electrical Engineering Study Program

Oleh:

L. KUNCORO PROBO SAPUTRA

NIM: 075114007

ELECTRICAL ENGINEERING STUDY PROGRAM

SCIENCE AND TECHNOLOGY FACULTY

SANATA DHARMA UNIVERSITY

YOGYAKARTA

(3)
(4)
(5)
(6)

HALAMAN PERSEMBAHAN

" Sat u - sat unya yang bisa menghalangi kit a adalah keyakinan yang salah dan sikap yang negat if. " dr. Ernest Wong

“A dreamer is one who can only find his way by moonlight, and his punishment is that he sees the dawn before the rest of the world.” Walt Disney

Motto:

Jangan pernah menyerah, terus berusaha untuk mencoba

D e n g a n c i n t a k u p e r s e m b a h k a n k a r y a k u in i u n t u k : Y e s u s K r is t u s P e m b im b in g d a n P e lin d u n g k u , B a p a k , Ib u k u , d a n Ad ik k u t e r c in t a , K e k a s ih k u t e r s a y a n g , D a n s e m u a o r a n g y a n g m e n g a s ih ik u

(7)
(8)

INTISARI

Pengujian suatu produk sangat penting dilakukan oleh setiap industri sebelum memasarkan produk tersebut ke konsumen. Bagiprodusen mainan bersuara, seperti mainan Barbie, pengujian ketahanan baterai dari seberapa banyak penekanan tombol on dapat dilakukan sampai kualitas suara sudah tidak baik lagi. Namun selama ini, pengujian tersebut masih dilakukan oleh manusia. Bila pengujian katahanan baterai dengan membandingkan kualitas suara dilakukan oleh manusia maka akan terjadi perbedaan standar kualitas suara yang dikarenakan kemampuan menangkap suara dari masing-masing orang berbeda-beda. Penelitian ini memberikan solusi untuk memudahkan serta menghemat waktu bagi para produsen mainan, khususnya Barbie, untuk menguji ketahanan baterai karena dilakukan secara otomatis.

Sistem otomatisasi pengujian ketahanan baterai mainan bersuara diprogram untuk dapat secara otomatis menekan tombol on mainan bersuara dan membandingkan data suara pada setiap kali penekanan terhadap data suara yang menjadi acuannya (suara yang diambil pertama kali saat baterai dalam keadaan penuh). Pengaturan penekanan tombol dilakukan melalui komunikasi serial RS232 oleh komputer ke kotak pengujian. Pembandingan data suara uji terhadap suara acuan dilakukan dengan membandingkan hasil akumulasi data sampling suara uji dengan hasil akumulasi data sampling suara acuan untuk mendapatkan nilai error-nya.

Sistem otomatisasi pengujian ketahanan baterai telah berhasil dibuat. Program telah dapat mengatur kotak pengujian untuk menekan tombol on mainan dan menguji ketahanan baterai mainan berdasarkan kualitas suara yang dihasilkan oleh mainan. Ketahanan baterai berbeda-beda walaupun memiliki merk yang sama.

(9)

ABSTRACT

Product testing is very important thing to do for a manufacturer before selling the product to the market. For voiced toy manufacturer, like Barbie, they test the battery life by pressing the ‘ON’ button periodically till the sound quality is not good. So far, the testing is conducted by humans. Humans have a difference ability to hear the sound. Therefore, there will be a different standard of the sound quality in the process of comparing the sound. This research gives a solution for toy manufacturer, especially Barbie, to test the battery life easier and to safe the time because the process can be done automatically.

The automation testing system of battery life for audible toy is programmed to be able to press the ‘ON’ button of the toy and compare the voice data in every button pressing with the reference voice data (the voice taken in the first time when the battery is full). The computer will control the button pressing through RS232 serial communication to the testing box. The voice data will be compared with the reference voice data by comparing the accumulation of the voice data sampling with the reference voice data sampling to get the error.

The automation testing system of battery life has been created successfully. The program can send a command to the testing box to press the ‘ON’ button on the toy and test the battery life based on the sound quality made by the toy. The battery life is different although the battery has same type and brand.

(10)

KATA PENGANTAR

Syukur dan terima kasih kepada Tuhan Yang Maha Esa yang telah melimpahkan kasih dan karunia sehingga penulis dapat melaksanakan dan menyelesaikan laporan tugas akhir yang merupakan salah satu kewajiban bagi mahasiswa dalam menyelesaikan masa studinya di Program Studi Teknik Elektro, Fakultas Sains dan Teknologi, Universitas Sanata Dharma.

Semoga laporan tugas akhir yang membahas tentang Pemrosesan Suara pada Otomatisasi Pengujian Ketahanan Baterai Mainan Bersuara mampu memberikan konstribusi positif bagi kemajuan ilmu pengetahuan dan teknologi di lingkungan Universitas Sanata Dharma pada khususnya, dan Indonesia pada umumnya.

Dengan selesainya penulisan tugas akhir ini, penulis mengucapkan terima kasih kepada:

1. Tuhan Yesus Kristus yang selalu mendampingi dan membimbing penulis dalam menyelesaikan laporan tugas akhir.

2. Ibu Bernadetha Wuri Harini, S.T.,M.T., Ketua Program Studi Teknik Elektro, Fakultas Sains dan Teknologi, Universitas Sanata Dharma.

3. Ibu Wiwien Widyastuti,S.T.,M.T., selaku dosen pembimbing I yang telah membimbing penulis mulai dari awal proses tugas akhir hingga selesai, dan selalu memberi masukkan dan memantau kemajuan penulis serta mengajarkan bahwa tugas akhir merupakan proses pembelajaran.

4. Bapak Martanto, S.T., M.T., selaku dosen pembimbing II yang telah membimbing penulis pada proses pembuatan, pengujian, dan penulisan tugas akhir ini.

5. Bapak/ Ibu dosen yang telah mengajarkan banyak hal selama penulis menempuh pendidikan di Program Studi Teknik Elektro, Fakultas Sains dan Teknologi, Universitas Sanata Dharma.

6. Bapak dan Ibuku di rumah yang selalu mengasihi, memperhatikan, mengingatkanku melalui telepon, selalu mendoakanku, dan memenuhi kebutuhanku selama pengerjaan dan penulisan laporan tugas akhir ini.

(11)

8. Semua teman di Teknik Elektro yang tidak dapat disebutkan satu per satu, terima kasih atas kebersamaan dan dukungannya.

9. Adikku tercinta yang telah menemani, menyemangati, mengingatkan agar segera menyelesaikan semua proses dalam tugas akhir ini.

10.Dan terakhir kekasihku, Agustina Dian Prasetya, yang telah setia menemaniku, memberi dukungan, masukan, dan semangat dalam hidupku, khususnya dalam pengerjaan tugas akhir ini.

Namun demikian penulis mengakui bahwa pada tulisan ini masih terdapat banyak kekurangan dan kesalahan. Untuk itu, kritik dan saran adalah suatu yang penulis harapkan demi perbaikan kualitas tulisan ini.

Yogyakarta, 14 Februari 2011

(12)

DAFTAR ISI

HALAMAN JUDUL ……… i

HALAMAN PERSETUJUAN ……… iii

HALAMAN PENGESAHAN ………. iv

PERNYATAAN KEASLIAN KARYA …………..……… v

HALAMAN PERSEMBAHAN DAN MOTTO HIDUP ……….. vi

LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS ……….. vii

INTISARI ………. viii

ABSTRACT ………. ix

KATA PENGANTAR ………. x

DAFTAR ISI ... xii

DAFTAR GAMBAR ……… xv

DAFTAR TABEL ……… xvii

BAB I PENDAHULUAN 1.1 Latar Belakang ………... 1

1.2 Tujuan dan Manfaat ………... 2

1.3 Batasan Masalah ……… 2

1.4 Metodologi Penelitian ………. 3

1.4.1 Variabel Penelitian ………. 3

1.4.2 Prosedur Penelitian ……… 3

1.5 Sistematika Penulisan ……… 5

BAB II DASAR TEORI 2.1 Formatting Suara ……….. 6

2.1.1 Sampling ……… 6

2.1.2 Kuantisasi ……….. 7

2.2 Kartu Suara ……… 8

2.3 Visual C++ ……… 9

2.4 Wave I/O pada Windows ……… 12

2.5 Komunikasi Serial pada Visual C++ ………. 13

(13)

BAB III PERANCANGAN DAN PEMBUATAN

3.1 Sistem Pengujian Ketahanan Baterai Mainan Bersuara ……… 16

3.2 Proses Pembandingan Suara Acuan dengan Suara Uji ……….. 16

3.3 Perancangan Tampilan Program Visual C++ ……… 18

3.3.1 Tampilan Splash Screen ………. 18

3.3.2 Tampilan Utama ………. 18

3.3.3 Tampilan Jendela Help ………... 20

3.3.4 Tampilan Jendela Profil ……….. 20

3.3.5 Tampilan Jendela About ………. 20

3.4 Perancangan Alur Program ……… 21

3.5 Pengaturan Proses Perekaman ………... 24

3.6 Protokol Komunikasi Serial RS232 ………... 24

BAB IV HASIL DAN PEMBAHASAN 4.1 Pengujian Program Otomatisasi Pengujian Ketahanan Baterai ………. 26

4.1.1 Tombol Buka Port ……….. 29

4.1.2 Tombol Status Interlock ………. 30

4.1.3 Tombol Ambil Suara Acuan ……….. 32

4.1.4 Tombol Info Port ……… 37

4.1.5 Tombol Uji ………. 38

4.1.6 Tombol Lihat Grafik Suara Acuan dan Tombol Lihat Grafik Uji ……….. 41

4.1.7 Tombol Pengujian Baru ………. 42

4.1.8 Tampilan Grafik Suara ……….. 42

4.1.9 Tampilan Slider Tegangan ……… 43

4.1.10 Menu Help ………. 44

4.1.11 Menu Profil ……… 44

4.1.12 Menu About ………... 45

4.2 Pengujian Proses Perekaman Suara Pada Program Otomatisasi Pengujian Ketahanan Baterai Mainan Bersuara ……… 46

4.3 Hasil Pengujian Parameter Perekaman Terhadap Error Suara ………. 48

4.4 Pengujian Sistem Otomatisasi Pengujian Ketahanan Baterai Mainan Bersuara ………. 50

(14)

4.4.2 Pengujian Metode Pembandingan Suara Acuan Dengan

Suara Uji ……… 51

4.4.3 Otomatisasi Pengujian Ketahanan Baterai Mainan Bersuara .... 53

4.4.4 Pengaruh Gangguan Suara Dari Luar Kotak Pengujian ………. 56

BAB V KESIMPULAN DAN SARAN 5.1 Kesimpulan ……… 58

5.2 Saran ……….. 58

DAFTAR PUSTAKA ……….. 59

(15)

DAFTAR GAMBAR

Gambar 1.1. Blok Model Perancangan Sistem ……….. 4

Gambar 2.1. Level (Tingkat) Kuantisasi ……… 7

Gambar 2.2. Proses Formatting Sinyal Analog Menjadi Data PCM ………. 8

Gambar 2.3. Contoh Kartu Suara ……….. 9

Gambar 2.4. Struktur Dan Pengeksekusian Program C++ ……… 10

Gambar 2.5. Class Hierarki Pada MFC ………. 11

Gambar 2.6. Massage Box ………. 12

Gambar 2.7. Konfigurasi Konektor DB9 ………... 15

Gambar 3.1. Blok Diagram Keseluruhan Sistem ……….. 16

Gambar 3.2. Perancangan Splash Screen ……… 18

Gambar 3.3. Perancangan Tampilan Utama Program Komputer ………. 18

Gambar 3.4. Perancangan Tampilan Jendela Help ……… 20

Gambar 3.5. Perancangan Tampilan Jendela Profil ……….. 20

Gambar 3.6. Perancangan Tampilan Kotak Dialog About ……… 21

Gambar 3.7. Alur Program Keseluruhan ………... 21

Gambar 3.8. (a) Alur Program Subrutin Ambil Sampel. (b) Alur Program Subrutin Uji ………... 22

Gambar 4.1. Icon Program Pengujian Ketahanan Baterai Mainan Bersuara ………. 26

Gambar 4.2. Tampilan Splash Screen ……….….…….. 27

Gambar 4.3. Tampilan Program Utama ………. 27

Gambar 4.4. Komunikasi RS232 Berhasil Dibuka ……… 29

Gambar 4.5. Pesan Bila Port Komunikasi RS232 Tidak Dapat Dibuka ……… 30

Gambar 4.6. Tampilan Pesan Jika Jenis Baterai Belum Terisi ……….. 31

Gambar 4.7. Tampilan Pesan Jika Merk Baterai Belum Terisi ………. 31

Gambar 4.8. Tampilan Pesan Jika Port Komunikasi RS232 Belum Terbuka ……… 32

Gambar 4.9. Tampilan Pesan Jika Kotak Pengujian Belum Siap ……….. 32

Gambar 4.10. Tampilan Pesan Jika Kotak Pengujian Telah Siap ……….. 32

Gambar 4.11. Tampilan Tombol Status Interlock Jika Kotak Telah Siap ………….. 32

Gambar 4.12. Tampilan Log File Pada Jendela Notepad ……… 33

Gambar 4.13. Tampilan Pesan Bahwa Tombol Uji Sudah Dapat Ditekan …………. 36

(16)

Gambar 4.15. Jendela Device Manager ………. 38

Gambar 4.16. Tampilan Setelah Tombol UjiDitekan ……….. 41

Gambar 4.17. Tampilan Awal Grafik Suara ……….. 43

Gambar 4.18. Slider Tegangan ……….. 43

Gambar 4.19. Nilai Tegangan Pada Slider ………. 44

Gambar 4.20. Tampilan Menu Help ……….. 44

Gambar 4.21. Tampilan Menu Profil ………. 45

Gambar 4.22. Tampilan Menu About ……… 46

Gambar 4.23. Hasil Grafik Suara Pada Program Otomatisasi Pengujian Ketahanan Baterai Mainan Bersuara ……… 47

Gambar 4.24. Hasil Grafik Suara Pada Program Komputasi ……… 47

Gambar 4.25. Listing Pada Program Komputasi ……….. 48

Gambar 4.26. Hasil Eksekusi Pada Program Komputasi ………. 48

Gambar 4.27. Perubahan Error Terhadap Tegangan Untuk Setiap Parameter Perekaman ……….. 49

Gambar 4.28. Monitor Data Pada Serial RS232 ………. 50

Gambar 4.25. Pergeseran Grafik Suara 1 ……….. 52

Gambar 4.26. Pergeseran Grafik Suara 2 ……….. 52

(17)

DAFTAR TABEL

Tabel 2.1. Sampling Rate ……….. 6

Tabel 2.2. Hungarian Notation ………..… 11

Tabel 2.3. Fungsi Penanganan Recording ……….. 13

Tabel 2.4. Konfigurasi Pin dan Nama Bagian dari Konektor Serial DB9 …………. 15

Tabel 3.1. Keterangan Tampilan Utama Program ……….. 19

Tabel 3.2. Data yang Dikirim Komputer ……… 24

Tabel 3.3. Data yang Diterima Komputer ……….. 25

Tabel 4.1. Akumulasi Data Sampling ……… 47

Tabel 4.2. Percobaan Metode Pembandingan Suara Pada Tiap Penekanan ………... 52

Tabel 4.3. Hasil Pengujian Baterai Sampai Melebihi Batasan Error ……….……… 54

Tabel 4.4. Potongan Hasil Pengujian Ketahanan Baterai Merk A ……….. 55

Tabel 4.5. Hasil Pengujian Baterai Sampai Melebihi Batasan Target Penekanan …. 56 Tabel 4.6. Potongan Hasil Pengujian Ketahanan Baterai Merk C Pengujian Kedua .. 57

(18)

BAB I

PENDAHULUAN

1.1

Latar Belakang

Perindustrian yang terus berkembang dengan dimulainya pasar bebas pada saat ini mendorong tiap industri untuk terus meningkatkan dan menjaga kualitas produknya. Hal tersebut bertujuan untuk bersaing dengan produsen lain guna menguasai pangsa pasar. Produk yang memiliki kualitas baik dengan harga jual yang murah akan sangat menarik para konsumen untuk membeli produk tersebut. Kualitas yang baik dari suatu produk dapat dilihat melalui beberapa pengujian dari berbagai aspek yang dapat menunjukkan bahwa produk yang akan dijual kepada masyarakat benar-benar produk dengan kualitas yang sesuai standar kelayakan.

Di luar dari standarisasi produk yang menuntut kualitas yang baik, terdapat aspek lain yang juga berkaitan dengan hal itu. Tiap industri memiliki berbagai jenis ragam dan proses yang kerap kali menggunakan peralatan yang canggih dan modern[1] untuk membuat sebuah produk. Suatu proses produksi yang dilakukan hingga barang tersebut siap dipasarkan dapat dibedakan menjadi 2 macam, yaitu proses produksi secara manual dan secara otomatis. Proses secara manual dilakukan oleh manusia dari awal pembuatan sampai produk tersebut siap jual. Sedangkan secara otomatis, prosentase keterlibatan manusia dalam pembuatan produk tersebut lebih sedikit dibanding oleh mesin. Secara keseluruhan, mesin yang berperan dalam proses produksi, manusia hanya mengawasi dan memperbaiki jika terjadi error system pada mesin produksi. Semakin majunya perkembangan teknologi, suatu sistem produksi lebih diarahkan ke sistem secara otomatis dari awal proses pembuatan sampai pengujian produk tersebut. Pengujian yang dilakukan oleh manusia tidak akan seakurat yang dilakukan oleh sistem/mesin.

(19)

manusia, maka yang akan terjadi adalah perbedaan standar kualitas suara karena kemampuan menangkap suara dari masing-masing orang tentunya akan berbeda.

Berdasarkan hal di atas, penulis ingin membuat suatu sistem otomatisasi pengujian ketahanan baterai mainan bersuara, khususnya pada mainan Barbie bersuara, terhadap kualitas suara yang dihasilkan secara computerize. Penulis tidak menemukan penelitian-penelitian sebelumnya yang berkaitan dengan pengujian ketahanan baterai mainan Barbie bersuara. Sistem ini akan dapat mempermudah pada saat pengujian dilakukan. Sistem ini akan membandingkan suara yang dihasilkan pada saat baterai penuh dengan suara setelah melalui beberapa kali penekanan tombol secara otomatis. Proses pembandingan suara dilakukan oleh komputer dengan program yang dibuat untuk dapat melihat perbedaan suara yang dihasilkan mainan tersebut. Komputer berkomunikasi dengan perangkat yang berperan untuk menekan tombol dan mengukur tegangan baterai. Proses pengujian ketahanan baterai terhadap kualitas suara ialah jika suara yang dihasilkan sudah mulai menurun tingkat volumenya dibandingkan dengan suara pada saat awal sesuai batasan yang ditentukan, maka sistem ini akan memberikan peringatan kepada user bahwa pengujian telah selesai. User dapat melihat seberapa banyak penekanan tombol yang dapat dilakukan sampai volume suara yang dihasilkan telah melebihi batasan yang telah ditentukan.

1.2

Tujuan dan Manfaat

Tujuan dari penulisan tugas akhir ini adalah menghasilkan sistem pengotomatisasian pengujian ketahanan baterai terhadap kualitas suara mainan anak.

Manfaat dari penelitian ini adalah :

1. Sebagai alat bantu bagi para produsen mainan anak untuk menguji ketahanan baterai mainan anak secara otomatis.

2. Memberikan informasi ketahanan setiap merk baterai yang digunakan pada mainan anak bersuara khususnya Barbie.

1.3

Batasan Masalah

Sistem otomatisasi pengujian ketahanan baterai mainan bersuara ini terdiri dari

hardware dan software (komputer). Hardware berfungsi untuk menekan tombol sehingga

mainan mengeluarkan suara dan pengukuran level tegangan baterai sedangkan software

(20)

Pada perancangan sistem ini, penulis berfokus pada pembuatan software

komputer untuk memproses suara mainan, sedangkan untuk hardware dikerjakan oleh kelompok lain. Penulis menetapkan beberapa batasan masalah yang dianggap perlu pada perancangan ini, yaitu sebagai berikut:

1. Mainan anak hanya memiliki satu jenis suara. 2. Mainan berupa mainan Barbie bersuara.

3. Menggunakan bahasa Visual C++ dalam pembuatan program pada komputer. 4. Pengambilan suara melalui line in microphone pada komputer.

5. Pembandingkan data suara mainan Barbie berdasarkan data hasil sampling.

6. Komunikasi komputer dengan kotak pengujian menggunakan komunikasi serial RS232.

1.4

Metodologi Penelitian

1.4.1 Variabel Penelitian

1. Proses Perekaman Suara

Variabel bebas yang digunakan dalam proses perekaman suara ialah frequency

sampling, bit per sampel, dan durasi perekaman. Variabel terikatnya ialah

besarnya error (% ) yang dihasilkan pada proses pembandingan suara acuan dengan suara uji.

2. Pengujian Ketahanan Baterai

Variabel bebas pada penelitian ini ialah merk baterai. Variabel terikat pada penelitian ini ialah banyaknya penekanan tombol untuk menyalakan mainan

Barbie yang dapat dilakukan untuk merek baterai. Merk baterai yang akan

digunakan ialah A,B, dan C berjenis alkaline dengan masing-masing merk baterai diambil sebanyak 5 sampel.

1.4.2 Prosedur Penelitian

Langkah-langkah dalam pengerjaan tugas akhir:

1. Pengumpulan bahan-bahan refrensi berupa buku-buku, jurnal, dan referensi program yang dapat medukung topik ini.

(21)

3. Pembuatan subsistem software. Software digunakan untuk mengoperasikan perangkat penekan tombol otomatis, membandingkan suara dengan merekamnya terlebih dahulu, dan menampilkan hasil pengujian pada grafik. Blok perancangan sistem keseluruhan diperlihatkan pada Gambar 1.1. Penulis memfokuskan pada diagram blok di dalam kotak putus- putus sedangkan diluar itu dikerjakan oleh kelompok lain.

4. Proses pengambilan data. Data yang didapatkan berupa grafik data suara yang diambil melalui line in microphone pada komputer, tegangan baterai,

counter (banyaknya penekanan yang telah dilakukan), akumulasi data

sampling dan error pembandingan suara. Terdapat 2 tampilan grafik dari data

suara pada tampilan utama program. Grafik pertama untuk melihat grafik suara acuan (suara pada saat baterai penuh), sedangkan grafik kedua untuk melihatkan grafik dari data suara uji (suara setelah dilakukan beberapa kali penekanan tombol). Pengambilan data dilakukan dengan menggunakan berbagai merk baterai. Dari berbagai merk baterai dapat terlihat seberapa besar ketahanan baterai tersebut dari seberapa banyak penekanan tombol dapat dilakukan untuk menghasilkan kualitas suara yang sama yang dibandingkan dengan suara pada saat awal (keadaan baterai penuh).

(22)

5. Analisa dan penyimpulan hasil percobaan. Analisa data pada pengujian ketahanan baterai dilakukan dengan melihat seberapa banyak penekanan tombol dapat dilakukan untuk setiap merk baterai. Analisa data pada proses perekaman dilakukan dengan melihat nilai perubahan error yang signifikan terhadap perubahan tegangan baterai dari setiap nilai pada parameter perekaman seperti frequencysampling, bit per sampel, dan durasi perekaman. Sebagai indikator keberhasilan sistem pemrosesan suara dilihat dari keberhasilan program untuk dapat merekam suara, membandingkan data suara, dan mengatur hardware kotak pengujian mainan bersuara. Pemrosesan suara dalam merekam dan membandingkan data suara bergantung pada penetapan variabel dalam proses perekaman.

1.5

Sistematika Penulisan

BAB I PENDAHULUAN:

Bab ini berisi tentang latar belakang masalah, tujuan dan manfaat penelitian, batasan masalah, metodologi penelitian serta sistematika penulisan.

BAB II DASAR TEORI

Bab ini berisi tentang teori yang berkaitan dengan digitalisasi suara, perekaman dan komunikasi serial dengan Visual C++, port RS232, dan dasar teori lainnya.

BAB III RANCANGAN PENELITIAN

Bab ini berisi tentang perancangan software dan metode pembandingan suara dalam pembuatan tugas akhir ini.

BAB IV HASIL DAN PEMBAHASAN

Bab ini berisi hasil pengamatan dan pembahasan dari pengujian yang telah dilakukan.

BAB V KESIMPULAN

(23)

BAB II

DASAR TEORI

2.1

Formatting

Suara

Proses pengubahan dari bentuk sinyal suara analog ke bentuk digital dinamakan

formatting. Hasil dari proses formatting sinyal suara analog ialah sederetan digit biner.

Ada beberapa tahapan formatting sinyal suara analog, yaitu pencuplikan/ sampling dan kuantisasi.

2.1.1 Sampling

Sampling merupakan proses pencuplikan gelombang suara yang akan

menghasilkan gelombang diskret termodulasi pulsa. Dalam proses sampling ada yang disebut dengan laju pencuplikan (sampling rate). Sampling rate menandakan berapa banyak pencuplikan gelombang analog dalam 1 detik. Satuan dari sampling rate ialah Hertz (Hz). Pada proses sampling, sebaiknya sampling rate memenuhi kriteria Nyquist. Kriteria Nyquist menyebutkan bahwa sampling rate harus lebih besar dari 2 kali frekuensi tertinggi sinyal suara analog [2]. Secara matematis dapat dituliskan:

…..……… (2.1) dengan: fs = frequencysampling (samplingrate)

fm = frekuensi tertinggi sinyal suara analog

Beberapa samplingrate yang sering digunakan diperlihatkan pada table 2.1: Tabel 2.1. SamplingRate [3]

Samplingrate Keterangan

8kHz Digunakan pada sistem telepon

11kHz Seperempat samplingrate pada audio CD

16kHz Contohnya digunakan pada G.722 standar kompresi

18,9kHz CD-ROM standar

22kHz Setengah samplingrate pada audio CD

32kHz Digunakan pada radio digital, NICAM (Nearly Instantaneous

Compandable Audio Matrix [IBA/BREMA/BBC]), televisi,

terutama pada United Kingdom 37,8kHz CD-ROM untuk kualitas terbaik 44100 Hz Samplingrate pada CD

(24)

Cataatan:

ingkat untuuk sinyal

(25)

linear (linear quantizer). Setiap nilai tercuplik dari sinyal analog akan didekati (dibulatkan) dengan pulsa terkuantisasi, dimana pendekatan ini menghasilkan error yang tidak lebih besar dari q/2 pada arah positif dan - q/2 pada arah negatif [2].

Gambar 2.2 memperlihatkan sinyal analog yang dicuplik dan dikuantisasi 3bit (8

level) yang akhirnya diperoleh 3bit/data PCM. Semakin banyak bit yang digunakan dalam

kuantisasi maka level kuantisasi semakin banyak sehingga nilai kuantisasinya semakin teliti.

Gambar 2.2. Proses Formatting Sinyal Analog Menjadi Data PCM

2.2

Kartu Suara (

sound card

)

Kartu suara merupakan sebuah periperal pada komputer sebagai I/O suara. Pada dasarnya setiap kartu suara memiliki [4]:

1. Digital Signal Processor (DSP) yang akan menangani semua jenis

komputasi.

2. Digital to Analog Converter (DAC) sebagai keluaran suara ke speaker.

3. Analog to Digital Converter (ADC) sebagai masukan suara.

4. Read Only Memory (ROM) atau Flash sebagai penyimpanan data.

5. Musical Instrument Digital Interface (MIDI) untuk menyambungkan

beberapa peralatan musik eksternal.

6. Jack untuk menyambungkan kartu suara dengan speaker pada jalur line out

(26)

Beberapa kartu suara sudah terpasang secara pabrikan (on board) pada motherboard

komputer, tetapi bisa juga ditambahkan untuk keperluan yang lebih lanjut pada slot PCI

motherboard.

Dalam proses perekaman suara dengan menggunakan kartu suara ada beberapa pengaturan awal, yaitu:

1. SamplingRate, telah dijelaskan pada poin 2.1.1.

2. Bit per sampel, menandakan berapa tingkat ketelitian tiap sampel. Bit per sampel ini berkaitan dengan proses kuantisasi. Semakin banyak bit yang digunakan semakin banyak level kuantisasinya sehingga semakin tinggi tingkat ketelitiannya.

3. Channel yang digunakan, yaitu mono atau stereo. Satu channel menandakan

mode mono, 2 channel menandakan mode stereo.

Gambar 2.3. Contoh Kartu Suara [4]

2.3

Visual C++

Struktur listing program dengan C++ yang diperlihatkan pada Gambar 2.4 terdiri dari fungsi utama (main function) dan beberapa fungsi yang menyusun fungsi utama. Fungsi utama merupakan sederetan proses yang dieksekusi pertama kali, lalu jika dalam fungsi utama terdapat fungsi yang menyusun fungsi utama, maka saat proses mengakses fungsi tersebut program akan berpindah ke proses yang ada pada fungsi tersebut. Bila telah selesai mengeksekusi fungsi tersebut, maka jalannya program akan kembali lagi pada fungsi utama.

(27)

1. SDI (Single Document Interface), tipe aplikasi ini seperti aplikasi Paintyang ada pada Windows. Aplikasi ini memiliki satu area client dan beberapa pull-

down menu dan toolbar. Tipe ini digunakan apabila ingin membuat aplikasi

dengan beberapa contoh dari aplikasi yang berinteraksi dengan satu file atau data dan menampilkannya pada satu area client.

2. MDI (Multi Document Interface), tipe aplikasi ini seperti aplikasi Microsoft Word. Aplikasi ini digunakan jika user ingin menggunakan multiple

document untuk dibuka dalam satu aplikasi yang sama.

Gambar 2.4. Struktur Dan Pengeksekusian Program C++ [6]

3. Dialog based, aplikasi ini seperti AppWizard dalam Visual Studio. Aplikasi

ini terdiri satu tampilan utama dengan beberapa variasi Windows control, seperti pushbutton, listboxes, dan entryfields. Aplikasi ini terdiri dari satu bentuk jendela dasar dengan bermacam-macam pengaturan Windows, seperti

pushbutton, list boxes, dan entry field. Aplikasi ini digunakan ketika aplikasi

yang ingin dibuat tidak membutuhkan area client yang digunakan untuk menggambar atau ketika aplikasi yang dibuat membutuhkan bermacam-macam pengaturan Windows untuk berinteraksi dengan pengguna (user).

Class hierarki pada MFC diperlihatkan pada Gambar 2.5. Seluruh class dalam

MFC tergabung dari class dasar yang disebut CObject. Class ini terdiri dari data members

dan member functions yang terdapat pada MFC class. Class CWinApp digunakan saat

(28)

berfungsi untuk menggabungkan seluruh fasilitas yang disediakan untuk aplikasi windows, membuat kotak dialog, dan pengontrolan.

Gambar 2.5. Class Hierarki Pada MFC [6]

Pada Microsoft Visual C++, dalam penulisan listing program menggunakan standar penulisan yang disebut dengan “Hungarian Notation” pada awal nama variabel. Notasi tersebut digunakan untuk menandakan tipe dari variabel. Beberapa Hungarian

Notation diperlihatkan pada Tabel 2.2.

Tabel 2.2. Hungarian Notation [6]

Notasi Tipe

B BOOL C Character H Handle I Integer L Long m_ Member

P Pointer Sz Null terminated String

W UINT

Visual C++ berisi beberapa pengaturan dasar untuk mengedit resource files.

Resource files merupakan objek program yang dikategorikan sebagai berikut icon, menu,

dialog, accelerator, bitmap, cursor, toolbar, string table, dan version yang ditentukan

diluar dari kode program C++. Semua resource files memiliki properties. Pada properties, salah satunya dapat terlihat ID atau nama dari resource tersebut. Secara umum, property

dialog dapat mempermudah dalam pemodifikasian dan pengaturan sebuah resource.

Sebagian besar aplikasi dengan user interface yang digunakan pada windows mempunyai 2 fitur yang dapat dikendalikan: 1) tampilan, dan 2) reaksi saat merespon suatu event

(29)

Sebagai aplikasi yang bersifat user interface, aplikasi dengan dialog boxes

menyediakan fasilitas massage box (Gambar 2.6). Fasilitas ini digunakan untuk menampilkan beberapa pesan kesalahan atau pertanyaan dan user diminta merespon

massage box tersebut dengan menekan salah satu tombol sebelum melanjutkan aplikasi.

Ada tiga parameter yang harus diatur, yang pertama ialah jenis message box yang ingin ditampilkan, yang kedua ialah judul dari message box, dan yang ketiga ialah pengaturan

Gambar 2.6. Message Box

dari perilaku message box. Gambar 2.6 memperlihatkan jenis message box dengan tipe

message box pertanyaan, judul “Massage Box” dan perilaku Yes atau No.

Sebagian besar aplikasi komputer menampilkan tampilan yang dinamakan splash

screen pada saat program dijalankan pertama kali. Aplikasi splash screen menampilkan

informasi yang berisi gambar icon dari program dan pesan hak cipta pembuat program.

2.4

Wave I/O pada Windows

Fungsi pada Windows Multimedia API (Application Programming Interface) akan mempermudah untuk merekam suara ataupun memutar sebuah file suara menggunakan kartu suara pada komputer. Win32 API merupakan kelompok dari

Multimedia Control Interface (MCI) yang berfungsi sebagai antarmuka pemrograman

multimedia untuk API.

waveInOpen merupakan sebuah fungsi untuk membuka perangkat masukan suara

untuk recording (perekaman). Beberapa komputer multimedia setidaknya memiliki lebih dari satu perangkat masukan audio, sehingga untuk membuka secara spesifik perangkat masukan audio digunakan fungsi WAVE_MAPPER. Setelah membuka perangkat masukan audio, proses perekaman dapat dilakukan. Audio data direkam ke dalam aplikasi yang menghasilkan buffer oleh fungsi WAVEHDR. Windows menyediakan beberapa fungsi untuk menangani proses recording yang diperlihatkan pada Tabel 2.3. Fungsi

waveInAddBuffer digunakan untuk mengirimkan sejumlah buffer ke driver perangkat

(30)

memberitahu dengan sebuah window message, callback message, thread message, atau

event, bergantung pada flag yang telah ditentukan saat perangkat dibuka. Sebelum

memulai perekaman dengan fungsi waveInStart, sebuah buffer harus dikirimkan ke driver perangkat, sehingga data audio yang masuk tidak hilang. Sebelum menutup perangkat audio dengan fungsi waveInClose, pemanggilan fungsi waveInReset harus dilakukan untuk menandai beberapa data blocks yang belum selesai[7].

Tabel 2.3. Fungsi Penanganan Recording[7]

Fungsi Deskripsi Fungsi

waveInAddBuffer Mengirimkan sejumlah buffer ke driver perangkat

sehingga perangkat dapat menyimpan data rekaman audio

waveInReset Menghentikan proses perekaman dengan menandai

semua buffer yang masih tersisa untuk dihapus

waveInStart Memulai perekaman suara

waveInStop Menghentikan perekaman suara

2.5

Komunikasi Serial pada Visual C++

Visual C++ menyediakan fasilitas untuk menggunakan komunikasi serial. Komunikasi serial menggunakan fasilitas dari Windows API. Format data untuk transmisi pada komunikasi serial adalah StartBit+DataBits+ParityBit(Optional)+StopBit. Beberapa pengaturan perlu dilakukan untuk dapat menggunakan komunikasi serial pada visual C++ agar komunikasi berjalan lancar dalam proses pengiriman maupun penerimaan data. Beberapa langkah pengaturan komunikasi serial, adalah sebagai berikut [8]:

1. Membuka port komunikasi serial. Pembukaan port komunikasi serial membuat pengaksesan data melalui komunikasi serial dapat dilakukan.

2. Mengatur parameter komunikasi serial. Beberapa parameter yang sangat penting dalam komunikasi serial ialah:

a. Baudrate : kecepatan transfer bit per sekon

b. Bytesize : jumlah bit informasi yang dikirimkan

c. Parity : bit tambahan pada paket yang dikirimkan untuk mengecek ada

tidaknya error dalam proses pengiriman.

(31)

e. Binary : menandakan format pengiriman data berupa bilangan biner. Semua parameter komunikasi serial terdapat pada DCB structure.

3. Mengatur timeout. Pengaturan ini ditujukan untuk membuat batasan waktu suatu program untuk menunggu dalam proses pengiriman dan penerimaan data. Hal ini menghindari proses hang pada program. Batasan waktu yang diatur ialah:

a. Read Interval Timeout : menyatakan seberapa lama waktu yang dibutuhkan (dalam ms)

untuk menunggu antara penerimaan data dengan timeout.

b. Read Total Timeout Constant : menyatakan seberapa lama waktu (dalam ms) sebelum

kembali.

c. Read Total Timeout Multiplier : menyatakan seberapa waktu yang dapat ditambahkan

(dalam ms) untuk menunggu sebelum kembali untuk setiap byte yang diminta pada proses penerimaan data.

d. Write Total Timeout Constant dan WriteTotalTimeoutMultiplier : sama seperti pada

proses pembacaan / penerimaan data.

4. Proses pengiriman / penerimaan data. Setelah melakukan pembukaan port

komunikasi serial dengan parameter dan timeout yang benar maka proses pengiriman maupun penerimaan data sudah dapat dilakukan.

5. Menutup port komunikasi serial. Hal ini bertujuan agar port serial yang sama dapat digunakan lagi untuk keperluan yang lain. Jika port tidak ditutup kembali, maka port serial tidak dapat digunakan untuk aplikasi lain sampai komputer di reboot.

2.6

Port

Komunikasi Serial RS232

Standar sinyal komunikasi serial yang banyak digunakan adalah Standar RS232 yang dikembangkan oleh Electronic Industry Association and the Telecommunication

Industry Association (EIA/TIA) yang pertama kali dipublikasikan pada tahun 1962 [9].

Standar sinyal RS232 memiliki ketentuan level tegangan sebagai berikut: 1. Logika ‘1’ disebut mark terletak antara -3 Volt hingga -25Volt. 2. Logika ‘0’ disebut space terletak antara +3Volt hingga +25Volt.

(32)

Gambar 2.7 Konfigurasi Konektor DB9 [9]

Tabel 2.4. Konfigurasi Pin Dan Nama Bagian Dari Konektor Serial DB9 [9]

No

pin

Nama

pin Deskripsi Fungsi

1 DCD Data Carrier Detect

Saluran sinyal ini akan diaktifkan ketika DTE mendeteksi suatu carrier dari DCE.

2 RXD Received Data Sebagai penerimaan data serial. 3 TXD Transmit Data Sebagai pengiriman data serial. 4 DTR Data Terminal

Ready

Dengan saluran ini, DTE memberitahukan kesiapan terminal.

5 GND Ground Saluran ground.

6 DSR Data Set Ready Dengan saluran ini, DTE memberitahukan bahwa siap melakukan komunikasi.

7 RST Request To Send Dengan saluran ini , DCE diminta mengirim data oleh DTE.

8 CTS Clear To Send Dengan saluran ini, DCE memberitahukan bahwa DTE boleh mulai mengirim data.

(33)

BAB III

RANCANGAN PENELITIAN

3.1

Sistem Pengujian Ketahanan Baterai Mainan Bersuara

Blok sistem pengujian ketahanan baterai mainan bersuara secara keseluruhan diperlihatkan pada Gambar 3.1.

  Gambar 3.1. Blok Diagram Keseluruhan Sistem

Sistem pengujian ketahanan baterai mainan bersuara terdiri dari software pada komputer yang berfungsi sebagai user interface dalam proses pengujian dan hardware yang berfungsi sebagai penekan tombol dan pengukur tegangan baterai mainan yang akan diuji.

Software komputer yang dibuat dalam bentuk user interface dengan bahasa C++ berperan

sebagai pusat pengaturan semua proses pengujian ketahanan baterai mainan, seperti merekam suara mainan, meminta data level tegangan baterai, dan meminta kotak pengujian untuk menekan tombol on pada mainan agar mainan berbunyi. Perekaman suara dilakukan oleh komputer melalui jalur line in pada kartu suara. Komputer dan kotak pengujian berkomunikasi secara serial menggunakan RS232. Dalam proses pembuatan sistem pengujian ketahanan baterai mainan ini, penulis memfokuskan pada pembuatan

software pada komputer, sedangkan pembuatan hardware kotak pengujian dikerjakan oleh

kelompok lain.

3.2

Proses Pembandingan Suara Acuan dengan Suara Uji

(34)

tegangan baterai dari mainan tersebut. Dari hasil survei, rata-rata dari 20 orang menilai kualitas suara mulai berubah (terdengar lebih rendah volume suaranya) pada saat tegangan baterai mainan barbie sebesar 3,5V. Hasil survei terlampir pada lampiran L1.

Setelah mendapatkan suara uji, proses pengujian dengan suara acuan dilakukan. Awalnya, data digital hasil sampling perekaman suara acuan diakumulasikan, begitu pula dengan suara uji. Hasil akumulasi dari data sampling suara uji dibandingkan dengan hasil akumulasi data sampling suara acuan. Proses pembandingan bisa dirumuskan seperti pada persamaan 3.1. Persamaan 3.1 digunakan untuk memperoleh barapa besar kesalahan

(error) dari kualitas suara uji terhadap suara acuan.

Catatan: Akumulasi data sampling ialah penjumlahan data diskret hasil sampling dari

sampling ke-1 sampai ke-N. Persamaan 3.2 merupakan rumusan matematis dari akumulasi

data sampling suara.

Keterangan:

x(n) = diskret/ data sampling ke-n

Penulis telah melakukan percobaan untuk memastikan dapat digunakan atau tidaknya persamaan 3.1 dalam membandingkan akumulasi data sampling suara uji dengan suara acuan. Percobaan dilakukan dengan menggunakan software komputasi yang sudah ada. Pada percobaan ini perekaman suara diatur menggunakan sampling rate = 44kHz, bit per sampel = 16 bit, dan durasi perekaman = 3 detik. Langkah-langkah percobaan yang dilakukan:

1. Merekam sebanyak 10 kali suara yang dihasilkan mainan Barbie untuk setiap nilai tegangan catu, yaitu 4,5V; 4,3V; 4,0V; 3,7V; 3,5V; 3,3V.

2. Mengakumulasikan data sampling dari suara.

3. Merata-ratakan hasil akumulasi data amplitude dari 10 suara yang diambil untuk setiap nilai tegangan catu.

(35)

yang

3.3

Peranccangan Ta

ampilan P

Program Visual C+

++

3.3.1

aat programm mulai

2 Tampila

(36)

Tampilan utama program dibuat agar user dapat dengan mudah mengoperasikan program serta mengerti hasil dari pengujian ketahanan baterai mainan. Pembuatan tampilan menggunakan aplikasi MFC dengan tipe Dialog Based. Tampilan utama pada komputer dapat dilihat pada Gambar 3.2. Beberapa keterangan dari tampilan utama program dijelaskan pada Tabel 3.1.

Tabel 3.1. Keterangan Tampilan Utama Program

Nama Bagian Deskripsi

Jenis Baterai Untuk mengisikan jenis baterai yang akan diuji, jenis baterai seperti alkaline, lithium.

Merk Baterai Untuk mengisikan merk baterai yang akan diuji, merk baterai seperti sony, maxell.

Durasi Perekaman Untuk memilih lamanya durasi perekaman suara dengan pilihan waktu dari 1, 2, dan 3 detik

Tombol Info Port Digunakan untuk mengetahui port komunikasi serial RS232 yang digunakan pada komputer Port Serial Untuk memilih Comm Port yang akan digunakan

untuk komunikasi serial

Tombol Ambil Suara Digunakan untuk mengambil suara acuan Tombol Uji Digunakan untuk memulai proses pengujian Slider Tegangan Baterai Visualiasi dengan slider bar untuk menunjukan

level tegangan baterai

Tegangan Baterai Penunjuk level tegangan baterai dalam bentuk angka

Counter Penunjuk banyaknya penekanan yang sudah dilakukan

Akumulasi Data Suara Acuan

Untuk menampilkan hasil akumulasi data suara acuan

Akumulasi Data Suara Uji Untuk menampilkan hasil akumulasi data suara uji

Error Untuk menampilkan hasil perhitungan error dari suara acuan dengan suara uji

Grafik Data Suara Tampilan grafik suara hasil rekaman, baik suara acuan maupun suara uji

List Berisi data akhir dari proses pengujian, seperti banyaknya penekanan yang dapat dilakukan Tombol Pengujian Baru Digunakan bila ingin memulai proses pengujian

yang baru

Tombol Keluar Digunakan bila ingin mengakhiri program pengujian ketahanan baterai

(37)

3.3.3 Tampilan Jendela Help

Tampilan jendela Help akan muncul jika user memilih opsi Menu > Help. Jendela Help berisi bantuan berupa langkah-langkah dalam pengoperasian program. Jendela Help terlihat pada Gambar 3.4.

3.3.4 Tampilan Jendela Profil

Tampilan jendela Profil akan muncul jika user memilih opsi Menu > Profil. Jendela Profil berisi data diri pembuat sistem pengujian ketahanan baterai mainan. Jendela Profil terlihat pada Gambar 3.5.

3.3.5 Tampilan Jendela About

Tampilan jendela About akan muncul ketika user memilih opsi Menu > About. Jendela About berisi keterangan tentang versi dan pembuat program. Jendela About terlihat pada Gambar 3.6.

Gambar 3.4. Perancangan Tampilan Jendela Help

(38)

Gambar 3.6. Perancangan Tampilan Kotak Dialog About

3.4

Perancangan Alur Program

Program pengujian ketahanan baterai mainan dieksekusi saat user mulai menjalankan program ini. Setelah tampilan utama terlihat, proses pengujian sudah dapat dilakukan. Pertama kali, user harus mengisikan masukan yang digunakan dalam pengujian pada group box “Pengaturan Awal”. Setelah semua diisi, user dapat mengambil suara acuan dengan menekan tombol “Ambil Sampel”, selanjutnya program akan melakukan proses pengambilan suara acuan. Jika suara acuan telah tersimpan, maka user

dapat menekan tombol “Uji” untuk memulai proses pengujian. Proses pengujian akan berhenti ketika nilai error data suara acuan dan suara uji telah melebih dari yang ditetapkan sebelumnya. Alur program utama ini diperlihatkan pada Gambar 3.7.

(39)
(40)

Program ini menjalankan 2 macam proses. Proses yang pertama ialah proses perekaman suara acuan. Suara acuan dijadikan acuan dalam pengujian dikarenakan suara acuan diambil saat baterai masih baru/ belum pernah dipakai. Proses yang kedua ialah proses pengambilan suara uji. Suara uji ialah suara yang direkam setelah suara acuan. Setelah suara uji terekam, program akan membandingkan suara uji dengan suara acuan. Kualitas suara uji dilihat dari berapa besar error akumulasi data sampling antara suara acuan dengan suara uji, dengan nilai error telah ditentukan terlebih dahulu.

Alur program untuk proses pengambilan suara acuan diperlihatkan pada Gambar 3.8(a). Proses akan berjalan saat user menekan tombol Ambil Sampel. Proses pengambilan suara acuan bermula dari komputer mengirimkan permintaan ke kotak penggujian untuk menekan tombol agar mainan berbunyi. Sesaat setelah kotak pengujian menekan tombol, komputer akan merekam suara yang dihasilkan dari mainan tersebut dan menyimpan hasil akumulasi data sampling dari suara acuan. Setelah perekaman selesai, komputer meminta data level tegangan baterai ke kotak pengujian dan selanjutnya menggambar bentuk grafik suara acuan hasil perekaman. Proses keseluruhan ini dihitung satu kali penekanan dan dicatat pada variabel Counter.

Alur program untuk proses pengambilan suara uji dan pembandingan suara uji dengan suara acuan diperlihatkan pada Gambar 3.8(b). Proses pengambilan suara uji dan pembandingan dengan suara acuan akan berjalan bila user menekan tombol Uji. Saat user

menekan tombol Uji, komputer mengirimkan perintah ke kotak pengujian untuk menekan tombol agar mainan berbunyi. Sesaat setelah mainan berbunyi, komputer mulai merekam suara dari mainan tersebut yang kemudian menyimpan hasil akumulasi data sampling dari suara uji. Setelah perekaman selesai, komputer meminta data level tegangan baterai ke kotak pengujian dan selanjutnya menggambar bentuk grafik suara uji hasil perekaman. Suara acuan dan suara uji telah didapatkan, sehingga pencarian nilai error akumulasi data

sampling suara uji terhadap akumulasi data sampling suara acuan dapat dilakukan. Proses

dari komputer meminta kotak pengujian menekan tombol sampai pembandingan suara uji dilakukan terus menerus sampai nilai error yang didapatkan melebihi dari error yang ditetapkan. Jika error telah melebihi dari yang ditetapkan, maka komputer meminta kotak pengujian menyalakan buzzer dan pada tampilan program akan muncul message box

berupa pemberitahuan bahwa pengujian baterai sudah selesai

Pada proses pengujian ketahanan baterai, hasil yang dilihat ialah seberapa banyak penekanan tombol dapat dilakukan untuk menghasilkan kualitas suara dengan nilai error

(41)

3.5

Pengaturan Proses Perekaman

Perekaman suara dilakukan untuk memperoleh data digital dari sinyal suara analog. Beberapa parameter dalam proses perekaman ialah:

1. Sampling Rate : 44kHz, 22kHz, 11kHz, dan 6kHz

2. Bit per sampel : 8 bit dan 16 bit

3. Channel : Mono

4. Durasi perekaman maksimum : 1, 2 dan 3 detik

Pemilihan durasi perekaman hanya sampai 3 detik dikarenakan suara yang akan direkam hanya berdurasi sekitar 1 detik.

3.6

Protokol Komunikasi Serial RS232

Sistem ini menggunakan komunikasi serial RS232 untuk komunikasi antara

software pada komputer dengan kotak pengujian. Setiap komunikasi diperlukan

pengaturan dan aturan yang ditetapkan terlebih dahulu yang bertujuan agar komunikasi dapat berjalan dengan baik. Sisi penerima dapat mengerti informasi/ data apa yang telah diterimanya. Pengaturan awal dalam komunikasi serial RS232 ini, yaitu:

1. Baudrate : 9600Hz

2. Bytesize : 8 bit

3. Bit Paritas : tidak menggunakan bit paritas

4. Bit Stop : 1 bit

Tabel 3.2. Data Yang Dikirim Komputer

Data Arti

0b00000011 Memerintah kotak pengujian untuk menekan tombol

0b00001100 Memerintahkan kotak pengujian untuk menyalakan buzzer

0b11000000 Memerintahkan kotak pengujian mengirimkan data level tegangan baterai

0b00111100 Memerintahkan kotak pengujian untuk mengirimkan status penguncian

pintu kotak

0b11000011 Memerintahkan kotak pengujian untuk mengunci pintu

0b11111111 Memerintah kotak pengujian untuk membuka pintu dan mematikan buzzer

Program menyediakan beberapa pilihan port. Port tersedia dari COM1-COM8

(42)

RS232, komunikasi USB diubah kedalam bentuk COMM port sehingga port yang digunakan pun berubah. Jika pada komputer yang sudah ada perangkat port RS232, maka secara default COMM port menggunakan COM1/COM2, tetapi tidak dengan komputer yang menggunakan converter USB ke RS232.

Protokol komunikasi serial RS232 yang digunakan dalam sistem ini:

Data yang dikirim oleh komputer diperlihatkan pada Tabel 3.2. Data yang diterima diperlihatkan pada Tabel 3.3.

Komputer sebagai penerima informasi:

Tabel 3.3. Data Yang Diterima Komputer

Data Arti

0b00000001 Kotak siap

(43)

BAB IV

HASIL DAN PEMBAHASAN

Pengujian program perlu dilakukan untuk mengetahui suatu program dapat bekerja dengan baik dan sesuai dengan perancangan. Hasil pengujian berupa data-data yang dapat memperlihatkan bahwa program yang telah dirancang dapat berjalan dengan baik. Analisa terhadap proses kerja program dapat dilakukan berdasarkan data-data pengujian dan pada akhirnya dapat digunakan untuk menarik kesimpulan dari apa yang disajikan dalam tugas akhir ini.

4.1

Pengujian Program Otomatisasi Pengujian Ketahan Baterai

Pengujian program bertujuan untuk memastikan apakah program yang telah dibuat dapat bekerja sesuai dengan yang telah dirancang pada bab sebelumnya. Pengujian program menggunakan komputer dengan sepesifikasi:

Processor : Intel® Core™ 2 CPU @1,66GHz

RAM : 2 Gb

VGA : Intel® 945GM Express Chipset Family Sistem Operasi : Windows XP Service Pack 3

Screen Resolution : 1280 x 800 pixels 

Program pengujian ketahanan baterai dapat dijalankan dengan langkah-langkah di bawah ini:

1. Meng-klik dua kali icon PSM_TA.exe dengan gambar icon seperti Gambar 4.1.

Gambar 4.1. Icon Program Pengujian Ketahanan Baterai Mainan

2. Tampilan splash screen yang terlihat pada Gambar 4.2 akan muncul sebelum masuk ke tampilan utama program.

(44)

Gambar 4.2. Tampilan Splash Screen

Gambar 4.3. Tampilan Program Utama

(45)

5. Memilih port serial yang akan digunakan untuk berkomunikasi. Tombol Info Port dapat digunakan sebagai informasi untuk mengetahui port RS232 yang digunakan. 6. Menekan tombol Buka Port untuk memastikan bahwa port serial RS232 telah terbuka

dan siap melakukan komunikasi dengan kotak pengujian. Tombol Status Interlock,

Ambil Suara Acuan, dan Uji tidak dapat digunakan sebelum menekan tombol Buka

Port.

7. Jika port serial RS232 telah terbuka, maka user dapat menekan tombol Status

Interlock untuk mengetahui status dari kotak pengujian. Jika kotak telah siap, maka

user dapat memulai pengujian dengan mengambil suara acuan, tetapi jika kotak belum siap, maka program akan memberikan pesan kepada user bahwa masih terjadi masalah pada pintu kotak atau obyek yang akan diuji.

8. User dapat memulai pengujian dengan menekan tombol Ambil Suara Acuan untuk

mendapatkan suara acuan. Setelah suara acuan terambil, bagian group box data pengujian akan terisi penekanan ke 1, hasil akumulasi data sampling suara acuan, nilai tegangan baterai saat suara acuan diambil, dan tampilan grafik suara acuan.

9. Selanjutnya, user melanjutkan dengan memulai proses pengujian dengan menekan tombol Uji. Pengujian ketahanan baterai akan berhenti ketika error dari akumulasi data sampling suara uji terhadap akumulasi data sampling suara acuan telah melebihi 25%. Pada setiap kali pengambilan suara uji, program akan menampilkan jumlah penekanan yang sudah dilakukan, nilai tegangan baterai saat suara uji direkam, hasil akumulasi data sampling suara uji, grafik suara uji, dan error hasil pembandingan akumulasi data sampling suara uji terhadap hasil akumulasi data sampling suara acuan. 10.User dapat melihat perbandingan grafik suara uji dengan suara acuan pada tampilan

Grafik Suara Acuan dan Suara Uji setelah pengujian berakhir. Jika ingin melihat salah satu grafik saja, maka user dapat menekan tombol Lihat Grafik Acuan untuk melihat grafik suara acuan atau menekan tombol Lihat Grafik Uji untuk melihat grafik suara uji.

11.Tombol Pengujian Baru digunakan jika user ingin melakukan pengujian yang baru. 12.Tombol Keluar digunakan jika user ingin keluar dari program.

13.Menu > Help dapat digunakan jika user membutuhkan bantuan langkah-langkah dalam pengoperasian program pengujian ketahanan baterai mainan bersuara.

14.Menu > Aboutdapat digunakan untuk membuka jendela About.

(46)

Pada implementasi program, tampilan grafik suara mengalami perubahan letak. Perubahan letak ini dimaksudkan agar tampilan grafik suara terlihat lebih panjang. Tampilan berupa bagian list yang terdapat pada perancangan dihilangkan, karena untuk menampilkan data hasil pengujian telah digantikan oleh fasilitas berupa log file berekstensi .txt. Penentuan durasi perekaman langsung dilakukan dalam program dan ditambahkan masukan berupa target penekanan. Listing program utama secara keseluruhan terlampir pada halaman L10 dengan judul PSM_TADlg.cpp.

4.1.1 Tombol Buka Port

Penambahan tombol Buka Port yang pada perancangan belum ada digunakan untuk memastikan bahwa port komunikasi serial RS232 telah terbuka dan jika terjadi kegagalan, maka user dapat mengetahui penyebab kegagalan dari pesan yang akan ditampilkan. Tombol Buka Port berisi metode untuk menyiapkan port serial RS232 agar dapat digunakan. Agar port serial RS232 dapat digunakan dilakukan beberapa metode:

1. Buka port dilakukan dengan metode port.OpenPort (m_port).

2. Konfigurasi port serial RS232

port.ConfigurePort (9600,8,0,NOPARITY,ONESTOPBIT).

3. Pengaturan waktu timout port.SetCommunicationTimeouts (0,0,0,0,0).

port merupakan nama instance pada class CSerialCom. ConfigurePort merupakan fungsi pada class tersebut yang akan digunakan untuk mengkonfigurasi pengaturan awal pada komunikasi serial RS232. SetCommunicationTimeout juga merupakan fungsi yang terdapat pada class CSerialCom yang digunakan untuk mengatur nilai timeout pada proses pengiriman dan penerimaan data. Pengujian tombol Buka Port dapat berjalan dengan baik. Jika port komunikasi serial RS232 telah terbuka, maka tombol

Buka Port tidak dapat ditekan kembali, ditandai dengan tampilan tombol Buka Port seperti terlihat pada Gambar 4.4. Tetapi jika port komunikasi RS232 yang dipilih user

tidak berhasil dibuka, maka program akan memberikan pesan seperti terlihat pada Gambar 4.5.

(47)

Gambar 4.5. Pesan Bila Port Komunikasi RS232 Tidak Dapat Dibuka

4.1.2 Tombol Status Interlock

Tombol Status Interlock digunakan untuk mengecek apakah pengisian jenis baterai dan merk baterai telah terisi, apakah port serial RS232 telah terbuka, dan apakah kotak pengujian telah siap melakukan pengujian. Saat tombol Status Interlock ditekan, program akan menjalankan metode berikut:

if(m_JenisBaterai_EDIT.IsEmpty())

{ MessageBox(_T("Isikan nama jenis baterai terlebih

dahulu!!"),_T("Konfirmasi"),MB_OK+MB_ICONEXCLAMATION);} else if (m_MerkBaterai_EDIT.IsEmpty())

{ MessageBox(_T("Isikan nama merek baterai terlebih

dahulu!!"),_T("Konfirmasi"),MB_OK+MB_ICONEXCLAMATION);}

else if (m_CounterTombolOpenPort>=1) //pengecekan apakah komunikasi telah terbuka

{ if(!(port.WriteByte(60))) //kirim permintaan status kotak { MessageBox(_T("Tidak dapat mengirim

data"),_T("Error"),MB_OK+MB_ICONERROR);} if(!(port.ReadByte (data))) //baca status kotak

{ MessageBox(_T("Waktu habis untuk menunggu.\nPastikan anda sudah menyambungkan port komunikasi dengan

baik."),_T("Error"),MB_OK+MB_ICONEXCLAMATION);} else

{ m_DataTerima = data;}

//pengecekan data status kotak

if (m_DataTerima ==1)

{ GetDlgItem(IDC_StatusInterlock_BUTTON)->EnableWindow (false);

m_Start = 1; //menandakan sudah dapat pengambilan suara acuan

port.WriteByte (195); //mengunci pintu

MessageBox(_T("Pintu telah terkunci.\nKotak pengujian telah siap.\nAnda dapat memulai ambil suara

acuan"),_T("Peringatan"),MB_OK+MB_ICONEXCLAMATION); }

else

{ MessageBox(_T("Pintu belum tertutup/Belum terdapat objek.\nCek kotak pengujian

kembali"),_T("Peringatan"),MB_OK+MB_ICONEXCLAMATION);} }

//jika komunikasi masih tertutup else

(48)

Tombol Status Interlock hanya dapat ditekan ketika port serial RS232 telah terbuka. Pengecekan kondisi port serial RS232 telah terbuka dilakukan dengan metode pengambilan keputusan else if (m_CounterTombolOpenPort>=1). Jika port serial RS232 telah terbuka, maka user dapat menekan tombol Status Interlock agar program meminta status ke kotak pengujian. Bila kotak pengujian telah siap, maka program akan mengunci pintu kotak pengujian dengan mengirimkan perintah port.WriteByte(60) dan memberikan tampilan pesan seperti terlihat pada Gambar 4.10 yang berisi bahwa kotak pengujian telah terkunci dan pengambilan suara acuan dapat dilakukan. Pernyataan m_Start = 1 digunakan untuk menandai bahwa pengambilan suara acuan sudah dapat dilakukan. Tetapi jika port serial RS232 belum terbuka, maka program akan memberikan pesan kepada user untuk membuka port serial RS232 terlebih dahulu.

Berdasarkan pengujian, tombol Status Interlock telah berjalan dengan baik. Program telah dapat mengecek apakah nama jenis baterai dan merk baterai telah diisikan, port serial RS232 telah terbuka, dan mengunci kotak pengujian bila kotak pengujian telah siap. Jika nama jenis baterai belum diisi, maka program akan menampilkan pesan seperti terlihat pada Gambar 4.6.

Gambar 4.6. Tampilan Pesan Jika Jenis Baterai Belum Terisi

Jika nama merk baterai belum diisi, maka program akan menampilkan pesan seperti terlihat pada Gambar 4.7.

Gambar 4.7. Tampilan Pesan Jika Merk Baterai Belum Terisi

(49)

Gambar 4.8. Tampilan Pesan Jika Port Komunikasi RS232 Belum Terbuka

Gambar 4.9. Tampilan Pesan Jika Kotak Pengujian Belum Siap

Jika kotak pengujian telah siap, maka program akan menampilkan pesan seperti terlihat pada Gambar 4.10 dan tombol Status Interlock tidak dapat ditekan kembali ditandai dengan tampilan tombol Status Interlock seperti terlihat pada Gambar 4.11.

Gambar 4.10. Tampilan Pesan Jika Kotak Pengujian Telah Siap

Gambar 4.11. Tampilan Tombol Status Interlock Jika Kotak Telah Siap

4.1.3 Tombol Ambil Suara Acuan

Tombol Ambil Suara Acuan akan bekerja apabila kotak pengujian telah siap yang ditandai dengan nilai variabel m_Start bernilai 1 dan hanya dapat dilakukan sekali penekanan. Beberapa tahapan proses yang dilakukan saat tombol Ambil Suara Acuan

ditekan, yaitu:

1. Pembuatan log file yang berekstensi .txt akan digunakan untuk pencatatan data pengujian. Pembuatan dan pembukaan file dilakukan dengan metode berikut:

(50)

Catatan:

Log file adalah file dengan ekstensi .txt yang berisi data pengujian seperti banyaknya

penekanan, hasil akumulasi data sampling suara, error suara uji terhadap suara acuan, dan tegangan baterai setiap 1 kali penekanan tombol on pada mainan. Gambar 4.12 merupakan contoh hasil pembuatan log file . LogFile merupakan nama instance dari

class CStdioFile. Class CStdioFile merupakan class yang sudah tersedia pada Visual

C++ yang dapat digunakan untuk membuat sebuah file.

Gambar 4.12. Tampilan Log File Pada Jendela Notepad

2. Persiapan untuk proses perekaman yang diawali dengan:

a. Menginisialisasikan parameter perekaman dengan metode berikut: // pengesetan parameter perekaman

WAVEFORMATEX pFormat;

pFormat.wFormatTag=WAVE_FORMAT_PCM;//tanpa kompresi format, PCM data

pFormat.nChannels=1; //1=mono, 2=stereo pFormat.nSamplesPerSec=sampleRate;

pFormat.wBitsPerSample=bit; //16 high quality, 8 standar sampling telepon

pFormat.nAvgBytesPerSec=sampleRate*pFormat.wBitsPerSample/8; // = nSamplesPerSec * n.Channels * wBitsPerSample/8

pFormat.nBlockAlign=pFormat.nChannels * pFormat.wBitsPerSample / 8;// = n.Channels *wBitsPerSample /8

pFormat.cbSize=0;

Metode di atas digunakan untuk mengkonfigurasi format data dari sinyal suara yang akan direkam. Pada motode tersebut, konfigurasi dilakukan dengan menentukan parameter perekaman, seperti format suara, channel, sampling rate, bit per sampel, AvgBytesPerSec, dan BlockAlign.

Catatan:

1. AvgBytesPerSec merupakan rata-rata kecepatan transfer data dalam byte untuk

tiap detik. Nilai ini digunakan untuk menentukan ukuran dari buffer. Persamaan 4.1 merupakan rumusan untuk menentukan nilai AvgBytesPerSec.

2. BlockAlign merupakan nilai dari ukuran data dalam byte untuk tiap sampel.

(51)

//pengaturan header buffer perekaman waveIn = new short [NUMPTS];

WaveInHdr.lpData = (LPSTR)waveIn;//menunjuk pointer buffer data WaveInHdr.dwBufferLength = NUMPTS * pFormat.wBitsPerSample / 8; WaveInHdr.dwBytesRecorded=0;

WaveInHdr.dwUser = 0L; WaveInHdr.dwFlags = 0L; WaveInHdr.dwLoops = 0L;

Metode di atas digunakan untuk menentukan struktur dari buffer. Buffer adalah memori yang disiapkan sebagai tempat penyimpanan sementara data hasil perekamanan suara. Pada metode di atas, pengaturan persiapan buffer terdiri atas: 1. Pengalokasian memori untuk menyimpan data hasil perekaman suara berupa

pointer dengan menuliskan waveIn = new short [NUMPTS].

2. Pendeklarasian variabel pointer dilakukan dengan menuliskan WaveInHdr.lpData = (LPSTR)waveIn.

3. Penentuan panjang buffer dilakukan dengan menuliskan WaveInHdr.dwBufferLength.

4. Penginisialisasian awal data yang terdapat pada buffer dilakukan dengan menuliskan WaveInHdr.dwBytesRecorded=0. Nilai 0 mengartikan buffer

dalam keadaan kosong pada saat awal.

5. Penginisialisasian variabel dwUser dilakukan dengan menuliskan WaveInHdr.dwUser=0L. Nilai 0L sama artinya dengan nilai 0.

6. Penginisialisasian variabel dwFlags dilakukan dengan menuliskan WaveInHdr.dwFlags=0L. Nilai 0L dimaksudkan bahwa tidak menggunakan

flag sebagai informasi tambahan pada buffer.

7. Penginisialisasian variabel dwLoops dilakukan dengan menuliskan WaveInHdr.dwLoops=0L. Nilai 0L dimaksudkan bahwa pengulangan proses perekaman tidak dilakukan, hanya 1 kali proses perekaman.

b. Membuka perangkat suara dengan metode berikut:

waveInOpen(&hWaveIn,WAVE_MAPPER,&pFormat,0L,0L,WAVE_FORMAT _DIRECT);

c. Mempersiapkan buffer untuk penyimpanan sementara data hasil perekaman dengan metode berikut:

(52)

3. Meminta kepada kotak pengujian untuk mengirimkan data level tegangan mainan bersuara dengan metode berikut:

port.WriteByte(48); //perintah untuk meminta data tegangan

port.ReadByte(data);//mengambil data tegangan dari kotak pengujian

port merupakan nama instance pada class CSerialCom sedangkan WriteByte dan ReadByte merupakan fungsi yang terdapat pada class CSerialCom.

4. Program memerintahkan kotak pengujian untuk menekan tombol on mainan bersuara dengan metode berikut:

port.WriteByte(3); //perintah untuk menekan tombol on mainan

5. Penundaan proses selama 1,2 detik agar perekaman suara dimulai tepat saat mainan mengeluarkan suara. Penundaan proses dilakukan dengan metode berikut:

Sleep (1200); //dalam milisekon

Waktu tunda sebesar 1,2 detik didapatkan dengan melakukan percobaan terlebih dahulu. Percobaan dilakukan dengan melihat seberapa lama waktu tunda yang diperlukan agar program dapat merekam suara tepat saat mainan mulai bersuara.

6. Memulai proses perekaman dengan metode berikut: waveInStart(hWaveIn);

dan menunggu sampai perekaman selesai dengan metode:

do {} while (waveInUnprepareHeader(hWaveIn, &WaveInHdr, sizeof(WAVEHDR))==WAVERR_STILLPLAYING);

7. Mengambil data pada buffer untuk disimpan pada variabel dengan metode berikut: //ambil data buffer

for (long i=0;i<NUMPTS;i++)

{ dataWaveAcuan[i]=*waveIn; waveIn++;}

8. Memplot data suara hasil rekaman pada grafik suara acuan dengan metode berikut: Scope.Channels[ 0 ].Data.SetYData( dataWaveAcuan, NUMPTS );

9. Mengakumulasi data sampling suara acuan dengan metode berikut: //proses akumulasi data

double dataAcuan = 0;

for (long i=0;i<NUMPTS;i++)

{ dataWaveAcuan[i]= abs(dataWaveAcuan[i]);

dataAcuan = dataAcuan + dataWaveAcuan[i]; } 10.Menutup perangkat suara dengan metode:

waveInClose(hWaveIn);

11.Menampilkan data akumulasi suara acuan dan tegangan baterai dengan metode: m_dataAkumulasiAcuan=dataAcuan;//menampilkan data akumulasi acuan //tampil Slider tegangan

(53)

12.Menuliskan data akumulasi suara acuan dan tegangan baterai pada log file dengan metode:

CString No,Acuan,Error,spasi,tulis,tegangan; m_CounterPenekanan_Ctrl.GetWindowTextW (No); m_dataAkumulasiAcuan_Ctrl.GetWindowTextW (Acuan); m_Error_Ctrl.GetWindowTextW (Error);

m_TeganganBaterai_Ctrl.GetWindowTextW (tegangan); char space[]=" ";

spasi=space;

CString judul=_T("Penekanan ke- Data Akumulasi Error Tegangan");

tulis=No+spasi+Acuan+spasi+Error+spasi+tegangan; TCHAR enter[]=_T("\n");

LogFile.WriteString (judul); LogFile.WriteString (enter); LogFile.WriteString(tulis); LogFile.WriteString (enter);

Penulisan data hasil pengujian pada notepad dilakukan oleh fungsi LogFile.WriteString().

13.Menunda proses selama 5 detik untuk pemulihan tegangan baterai setelah dilakukan penekanan. Penundaan proses dilakukan dengan metode:

Sleep (5000); //dalam milisekon

Waktu tunda sebesar 5 detik didapatkan dengan melakukan percobaan. Percobaan dilakukan dengan melihat seberapa lama tegangan baterai dapat kembali pada keadaan sebelum terjadi penekanan tombol on.

14.Proses terakhir yaitu memberikan pesan yang terlihat pada Gambar 4.13 kepada user

bahwa pengambilan suara acuan telah selesai dan dapat melanjutkan pengujian dengan menekan tombol Uji.

Gambar 4.13. Tampilan Pesan Bahwa Tombol Uji Sudah Dapat Ditekan

Gambar

Gambar 1.1. Blok Model Perancangan Sistem
Tabel 2.1. Sampling Rate [3]
Gambar 2.4. Struktur Dan Pengeksekusian Program C++ [6]
Gambar 2.5. Class Hierarki Pada MFC [6]
+7

Referensi

Dokumen terkait

Berdasarkan uraian di atas maka penulis tertarik untuk melakukan penelitian tentang faktor-faktor yang berhubungan dengan perilaku WUS (wanita usia subur) tentang

Sebagai dokumen yang menjadi pedoman pelaksanaan Pencegahan, Pemberantasan Penyalahgunaan dan Peredaran Gelap Narkoba (P4GN) oleh Badan Narkotika Nasional Provinsi (BNNP)

Beberapa Ketentuan dalam Peraturan Menteri Kehutanan Nomor P.10/MENHUT-II/2013 Tentang Petunjuk Pelaksanaan Penyelesaian Ganti Kerugian Negara Terhadap Pegawai

Penelitian ini bertujuan untuk mengetahui pengaruh harga, kualitas produk dan citra merek berpengaruh signifikan dan positif terhadap keputusan pembelian kecap manis merek Bango

ketinggian bangunan, maka metode yang digunakan adalah dengan membandingkan antara ketinggian bangunan yang diperoleh dari data DEM LiDAR dengan hasil pengukuran

Peran serta pihak terkait dlm perbaikan kinerja

Hasil penelitian ini diperoleh kesimpulan bahwa derajat desentralisasi fiscal di Satuan Wilayah Pembangunan (SWP) IV Jawa Timur masih sangat rendah yaitu dibawah 25% dan

Batasan masalah pada penelitian ini adalah data pada Rumah Beras Tiredi yang terdiri dari 3 gudang dan 6 pasar dengan menggunakan North West Corner Method untuk solusi