• Tidak ada hasil yang ditemukan

BAB 2 LANDASAN TEORI. citra, piksel, convolution, dan Software Development Life Cycle.

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB 2 LANDASAN TEORI. citra, piksel, convolution, dan Software Development Life Cycle."

Copied!
25
0
0

Teks penuh

(1)

LANDAS AN TEORI

Pada bab ini diuraikan beberapa landasan teori dan konsep – konsep yang berhubungan dengan pengolahan citra, di antaranya adalah tentang pengolahan citra, citra, piksel, convolution, dan Software Development Life Cycle.

2.1 Pengolahan Citra

Pengolahan citra merupakan sebuah bentuk pemrosesan sebuah citra atau gambar dengan cara memproses numerik dari gambar tersebut, dalam hal ini yang diproses adalah masing – masing pixel atau titik dari gambar tersebut. Salah satu teknik pemrosesan citra memanfaatkan komputer sebagai peranti lunak memproses masing – masing pixel dari sebuah gambar. Oleh karena itu muncul istilah pemrosesan citra secara digital atau “Digital Image Processing”.

“Digital Image Processing” diperkenalkan pertama kali di New York, USA pada awal tahun 1920-an. Pertama kalinya digunakan untuk meningkatkan kualitas gambar koran yang dikirimkan oleh kabel bawah laut yang terbentang antara London dan New York. Sampai tahun 1960-an perkembangannya tidaklah terlalu menggembirakan. Namun pada akhir tahun 1960-an, di mana perkembangan komputer yang pesat dan mampu menawarkan kecepatan dan kapasitas yang lebih tinggi memacu perkembangan dari implementasi algoritma pemrosesan citra yang lebih pesat lagi. Untuk saat ini penggunaan dari pemrosesan citra telah melingkupi berbagai macam disiplin ilmu di

(2)

 

antaranya bidang Arsitektur, Geografi, Ilmu Komputer, Kedokteran, Fotografi, Arkeologi, dan lain sebagainya.

2.2 Citra

Citra atau gambar dalam bahasa latin imago adalah suatu representasi, kemiripan, atau imitasi dari suatu obyek atau benda. Citra dapat dikelompokkan menjadi citra tampak dan citra tidak tampak. Contoh citra tampak dalam kehidupan sehari – hari : foto, gambar, dan lukisan, sedangkan citra tidak tampak misalnya : data gambar dalam file (citra digital), dan citra yang direpresentasikan menjadi fungsi matematis.

Di antara jenis citra tersebut, hanya citra digital yang dapat diolah menggunakan komputer. Jenis citra lain, jika hendak diolah dengan komputer, harus diubah dulu menjadi citra digital, misalnya foto discan dengan scanner, persebaran panas tubuh foto ditangkap dengan kamera infra merah dan diubah menjadi informasi numeris, informasi densitas dan komposisi bagian dalam tubuh manusia ditangkap dengan bantuan pesawat sinar–x dan sistem deteksi radiasi menjadi informasi digital. Kegiatan untuk mengubah informasi citra fisik non digital menjadi digital disebut sebagai pencitraan (imaging).

Citra digital dapat didefinisikan sebagai fungsi dua variable, f(x,y), di mana x dan y adalah koordinat spasial dan nilai f(x,y) adalah intensitas citra pada koordinat tersebut, hal tersebut diilustrasikan pada Gambar 2.1. Teknologi dasar untuk menciptakan dan menampilkan warna pada citra digital berdasarkan pada penelitian bahwa sebuah warna merupakan kombinasi dari tiga warna dasar, yaitu merah, hijau, dan biru (Red, Green, Blue - RGB).

(3)

 

Gambar 2.1 Citra Digital

Sebuah citra diubah ke bentuk digital agar dapat disimpan dalam memori komputer atau media lain. Proses mengubah citra ke bentuk digital bisa dilakukan dengan beberapa perangkat, misalnya scanner, digital camera, dan handycam. Ketika sebuah citra diubah ke dalam bentuk digital, bermacam – macam proses pengolahan citra dapat diperlakukan terhadap citra tersebut.

2.3 Piksel

Gambar tersusun dari piksel – piksel. Piksel disebut juga dengan dot. Piksel berbentuk bujur sangkar dengan ukuran relatif kecil yang merupakan penyusun atau pembentuk gambar baru. Banyaknya piksel tiap satuan luas tergantung pada resolusi yang digunakan. Keanekaragaman warna piksel tergantung pada bit depth yang dipakai. Semakin banyak jumlah piksel tiap satu satuan luas, semakin baik kualitas gambar yang dihasilkan dan tentu akan semakin besar ukuran file – nya.

(4)

 

2.4 Convolution

2.4.1 Pengertian Convolution Method

Convolution adalah operator matematika yang penting untuk banyak operator dalam image processing. Convolution menyediakan cara untuk menggabungkan dua array, biasanya untuk ukuran array yang berbeda, tetapi untuk dimensi array yang sama, menghasilkan array ketiga yang mempunyai dimensi yang sama. Convolution dapat digunakan dalam image processing untuk menerapkan operator yang mempunyai nilai output dari piksel yang berasal dari kombinasi linear nilai input piksel tertentu.

Image convolution adalah tehnik untuk menghaluskan suatu citra atau memperjelas citra dengan menggantikan nilai piksel dengan sejumlah nilai piksel yang sesuai atau berdekatan dengan piksel aslinya. Tetapi dengan adanya convolution, ukuran dari citra tetap sama, tidak berubah.

Convolution 2 buah fungsi f(x) dan g(x) didefinisikan sebagai berikut :

h(x) = f(x) * g(x) = (2.1)

yang dalam hal ini, tanda (*) menyatakan operator convolution dan peubah (variable) adalah peubah bantu.

Untuk pengolahan citra, operasi yang dilakukan adalah diskrit karena nilai koordinat piksel merupakan nilai yang diskrit. Selanjutnya filter atau mask yang digunakan pada pengolahan citra biasanya berukuran terbatas, dalam artian bobot atau

(5)

 

pengaruh dari titik – titik yang cukup jauh sudah tidak signifikan, sehingga dapat diabaikan (dianggap nol).

Bentuk diskrit dari operasi convolution satu dimensi pada pengolahan citra adalah :

(2.2) 2.4.2 Convolution Dua Dimensi

Untuk fungsi dengan dua dimensi, operasi convolution didefinisikan sebagai berikut :

a) Untuk fungsi integral

(2.3) b) Untuk fungsi diskrit

(2.4)

Fungsi penapis g(x,y) disebut juga convolution filter, convolution mask, convolution kernel, atau template. Dalam bentuk diskrit convolution kernel dinyatakan dalam bentuk matriks (umumnya matriks 3x3). Ukuran matriks ini biasanya lebih kecil dari ukuran citra. Setiap elemen matriks disebut koefisien convolution.

(6)

 

f(i,j) = Ap1 + Bp2 + Cp3 + Dp4 + Ep5 + Fp6 + Gp7 + Hp8 + Ip9

Gambar 2.2 Ilustrasi Convolution (Sumber: Rinaldi Munir, 2004, p79)

Operasi convolution dilakukan dengan menggeser convolution kernel piksel per piksel. Hasil convolution disimpan di dalam matriks baru.

Contoh 2.1. M isalkan citra f(x,y) yang berukuran 5x5 dan sebuah kernel atau mask yang berukuran 3x3 masing – masing adalah sebagai berikut :

f(x,y) = g(x,y) =

(keterangan : tanda menyatakan posisi (0,0) dari kernel) Operasi convolution antara citra f(x,y) dengan kernel g(x,y).

f(x,y) * g(x,y)

(7)

 

(1) Tempatkan kernel pada sudut kiri atas, kemudian hitung nilai piksel pada posisi (0,0) dari kernel. 4 4 3 5 4 6 6 5 5 2 3 5 6 6 6 2 6 7 5 5 3 3 5 2 4 4

Hasil convolution = 3 . Nilai ini dihitung dengan cara berikut :

(0x4) + (-1x4) + (0x3) + (-1x6) + (4x6) + (-1x5) + (0x5) + (-1x6) + (0x6) = 3

(2) Geser kernel satu piksel ke kanan, kemudian hitung nilai piksel pada posisi (0,0) dari kernel : 4 4 3 5 4 6 6 5 5 2 3 0 5 6 6 6 2 6 7 5 5 3 3 5 2 4 4

Hasil convolution = 0. Nilai ini dihitung dengan cara berikut :

(8)

 

(3) Geser kernel satu piksel ke kanan, kemudian hitung nilai piksel pada posisi (0,0) dari kernel : 4 4 3 5 4 6 6 5 5 2 3 0 2 5 6 6 6 2 6 7 5 5 3 3 5 2 4 4

Hasil convolution = 2. Nilai ini dihitung dengan cara berikut :

(0x3) + (-1x5) + (0x4) + (-1x5) + (4x5) + (-1x2) + (0x6) + (-1x6) + (0x2) = 2

(4) Selanjutnya, geser kernel satu piksel ke bawah, lalu mulai lagi melakukan convolution dari sisi kiri citra. Setiap kali convolution, geser kernel atau piksel ke kanan : 4 4 3 5 4 6 6 5 5 2 3 0 2 5 6 6 6 2 0 6 7 5 5 3 3 5 2 4 4 (i)

(9)

  (0x6) + (-1x6) + (0x5) + (-1x5) + (4x6) + (-1x6) + (0x6) + (-1x7) + (0x5) = 0 4 4 3 5 4 6 6 5 5 2 3 0 2 5 6 6 6 2 0 2 6 7 5 5 3 3 5 2 4 4 (ii)

Hasil convolution = 2. Nilai ini dihitung dengan cara berikut :

(0x6) + (-1x5) + (0x5) + (-1x6) + (4x6) + (-1x6) + (0x7) + (-1x5) + (0x5) = 2 4 4 3 5 4 6 6 5 5 2 3 0 2 5 6 6 6 2 0 2 6 6 7 5 5 3 3 5 2 4 4 (iii)

Hasil convolution = 6. Nilai ini dihitung dengan cara berikut :

(10)

 

Dengan cara yang sama seperti tadi, maka piksel – piksel pada baris ketiga di convolution sehingga menghasilkan :

3 0 2 0 2 6 6 0 2

Jika hasil convolution menghasilkan nilai piksel negative, maka nilai tersebut dijadikan 0, sebaliknya jika hasil convolution menghasilkan nilai piksel lebih besar dari nilai keabuan maksimum (255), maka nilai tersebut dijadikan ke nilai keabuan maksimum.

M asalah timbul bila piksel yang dikonvolusi adalah piksel pinggir, karena beberapa koefisien convolution tidak dapat diposisikan pada piksel – piksel citra, seperti contoh di bawah ini:

4 4 3 5 4 ? 6 6 5 5 2 ? 5 6 6 6 2 ? 6 7 5 5 3 3 5 2 4 4

(11)

 

Solusi untuk masalah ini adalah (Rinaldi M unir, 2004, p83):

a. piksel –  piksel  pinggir diabaikan, tidak dikonvolusi, jadi nilai piksel pinggir sama

dengan nilai pada citra semula.

b. Duplikasi elemen citra, misalnya elemen kolom pertama disalin ke kolom M 1 dst.

c. Elemen bertanda “?” diasumsikan bernilai 0 atau konstanta lain, sehingga convolution pinggir – pinggir dapat dilakukan.

Solusi dengan ketiga pendekatan di atas mengasumsikan bagian pinggir citra lebarnya sangat kecil (hanya satu piksel) relative dibandingkan dengan ukuran citra, sehingga piksel – piksel pinggir tidak memperlihatkan efek yang kasat mata.

4 4 3 5 4

6 3 0 2 2

5 0 2 6 2

6 6 0 2 3

(12)

 

Gambar 2.3 piksel – piksel pinggir (yang tidak diarsir) tidak dikonvolusi. (Sumber: Rinaldi Munir, 2004, p84)

Dalam algoritma convolution citra N x M dengan mask atau kernel yang berukuran 3 x 3 piksel yang dikonvolusi adalah elemen (i,j). Delapan buah piksel yang bertetangga dengan piksel (i,j) diperlihatkan pada gambar 2.4.

i-1, j-1 i-1, j i-1, j+1

i, j-1 i, j i, j+1

i+1, j-1 i+1, j i+1, j+1

Gambar 2.4 Delapan piksel yang bertetangga dengan piksel (i,j)

Dapat dilihat bahwa operasi convolution merupakan komputasi pada area lokal, karena komputasi untuk suatu piksel pada citra keluaran melibatkan piksel – piksel tetangga pada citra masukannya.

Convolution berguna pada proses pengolahan citra seperti :

a. Smooth b. Gaussian Blur c. Sharpen d. Mean removal e. Emboss f. Edge detection 2.4.2.1 Smooth

(13)

 

Smooth bertujuan untuk menekan gangguan (noise) pada citra. Gangguan pada citra umumnya berupa variasi intensitas suatu piksel yang tidak berkorelasi dengan piksel – piksel tetangganya. Secara visual, gangguan mudah dilihat oleh mata karena tampak berbeda dengan piksel tetangganya. Gambar 2.5 adalah gambar yang mengalami noise pada citra dalam bentuk bercak – bercak.

Piksel yang mengalami gangguan umumnya memiliki frekuensi tinggi (berdasarkan analisis frekuensi dengan transformasi Fourier). Komponen citra yang berfrekuensi rendah umumnya mempunyai nilai piksel konstan atau berubah sangat lambat. Operasi pelembutan citra dilakukan untuk menekan komponen yang berfrekuensi tinggi dan meloloskan komponen yang berfrekuensi rendah.

Gambar 2.5 Citra yang mengalami gangguan berupa noise

Operasi smooth dapat dilakukan pada ranah spasial. Pada ranah spasial, operasi smooth dilakukan dengan mengganti intensitas suatu piksel dengan rata – rata dari nilai

(14)

 

piksel tersebut dengan nilai piksel – piksel tetangganya. Jadi, diberikan citra f(x,y) yang berukuran NxM. Citra hasil smoothing, g(x,y), didefinisikan sebagai berikut :

(2.5) yang dalam hal ini d adalah jumlah piksel yang terlibat dalam perhitungan rata – rata. Persamaan (2.5) nantinya digunakan dalam perhitungan lainnya yaitu Gaussian blur, sharpen, mean removal, emboss, dan edge detection.

Convolution mask yang digunakan berukuran 3x3 seperti yang digambarkan dibawah ini :

1 1 1

1 1 1

1 1 1

Gambar 2.6. Kernel untuk operasi Smooth

Gambar 2.7 dibawah ini adalah hasil smoothing citra Taj M ahal dengan convolution mask 3x3.

(15)

 

(a) (b)

Gambar 2.7 (a)Image asli. (b)Hasil convolution smooth

2.4.2.2 Gaussian Blur

Operator Gaussian Blur merupakan operator 2-D convolution yang digunakan untuk memberi efek blur (pemudaran) pada citra. Cara pengoperasian Gaussian Blur sama dengan smoothing, tetapi Gaussian Blur menggunakan kernel yang berbeda yang mempresentasikan bentuk Gaussian.

Kernel yang digunakan oleh Gaussian blur adalah :

1 2 1

2 4 2

1 2 1

(16)

 

(a) (b)

Gambar 2.9. (a)Citra asli. (b)Citra yang telah mengalami Gaussian Blur.

2.4.2.3 Sharpen (Penajaman Citra)

Operasi penajaman citra bertujuan memperjelas tepi pada objek di dalam citra. Penajaman citra merupakan kebalikan dari operasi pelembutan citra, karena operasi ini menghilangkan bagian citra yang lembut.

Operasi penajaman dilakukan dengan melewatkan citra pada penapis lolos-tinggi (high-pass filter). Penapis lolos-tinggi akan meloloskan (atau memperkuat) komponen yang berfrekuensi tinggi (misalnya tepi atau pinggiran objek) dan akan menurunkan komponen berfrekuensi rendah. Akibatnya, pinggiran objek telihat lebih tajam dibandingkan sekitarnya.

Kernel yang digunakan untuk Sharpen adalah :

0 -2 0

-2 11 -2

(17)

 

Gambar 2.10. Kernel untuk operasi Sharpen

(a) (b)

Gambar 2.11. (a)Citra asli. (b)Citra yang telah mengalami Sharpen

Citra pada gambar 2.11(b) mengalami penajaman citra menggunakan convolution method dengan mask 3x3. Citra yang terlihat lebih tajam dan terang dari gambar aslinya.

2.4.2.4 Mean Removal

Mean Removal filter juga merupakan sharpen filter, yang terlihat sebagai berikut :

-1 -1 -1

-1 9 -1

(18)

 

Tidak seperti filter pada sharpen, di mana hanya bekerja pada garis horizontal dan vertikal saja, Mean Removal filter juga bekerja pada garis diagonal. Nilai tengah merupakan nilai yang mempengaruhi efek yang diberikan.

(a) (b)

Gambar 2.13 Hasil citra Mean Removal filter

(a)Citra asli. (b)Citra yang telah mengalami Mean Removal filter

2.4.2.5 Emboss

Operasi penajaman merupakan kombinasi antara hasil operasi deteksi tepi Laplacian dengan citra itu sendiri. Hasil operasi deteksi tepi menggunakan operator gradien juga dapat dijumlahkan dengan citra itu, sehingga menimbulkan efek emboss (kesan timbul pada obyek dalam citra). Operasi ini dapat dilakukan untuk arah tertentu.

Contoh kernel untuk efek emboss dari arah kiri dan dari arah kanan atas diberikan dalam Gambar 2.14. Parameter atau derajat emboss digunakan untuk mengatur seberapa banyak efek timbul akan diberikan. Operator gradien yang digunakan adalah

(19)

 

operator Prewitt. Mask emboss tentu saja juga dapat diturunkan dari operator gradien yang lain, yaitu Sobel dan isotropic. Perhatikan bahwa jumlah total bobot kernel tersebut. Perhatikan bahwa jumlah total bobot kernel tersebut adalah satu.

0 0

1 1 0 1 0 0 1 0

0 0

(a) dari arah kiri (b) dari arah kanan (c) dari arah atas (d) dari arah bawah

Gambar 2.14. Operator Emboss

(a)

(20)

 

(d) (e)

Gambar 2.15 (a) Citra asli. (b)Emboss dari arah kiri. (c)Emboss dari arah kanan. (d)Emboss dari arah atas. (e)Emboss dari arah bawah.

2.4.2.6 Edge Detection

Operasi edge detection digunakan untuk menentukan lokasi titik – titik yang merupakan tepi obyek. Secara umum, tepi suatu obyek dalam citra dinyatakan sebagai titik yang nilai keabuannya berbeda cukup besar dengan titik yang ada di sebelahnya. Banyak bentuk kernel yang dapat dipakai dalam operasi ini, misalnya operator Robert, Prewitt, Sobel, Canny, Laplacian, dan Laplacian Gaussian. Namun, dalam tugas akhir ini saya lebih memfokuskan pada operator Laplacian. Convolution dengan kernel tadi digunakan untuk menghitung keabuan atau warna asli.

Operator Laplacian menggunakan turunan kedua (sering disebut zero crossing operator) yang didefinisikan dengan

(2.6)

Untuk aplikasi pengolahan citra, persamaan tersebut diubah ke bentuk diskritnya. Turunan kedua untuk ke arah x dan y, masing – masing adalah

(21)

 

(2.7)

dan

(2.8)

Jika Persamaan (2.7) dan (2.8) dimasukkan ke dalam Persamaan (2.6), hasilnya adalah (2.9)

Persamaan ini dapat dinyatakan dalam bentuk kernel untuk operasi convolution seperti terlihat dalam Gambar 2.16. Kernel ini dapat mendeteksi tepi ke arah horizontal, vertical, dan diagonal sekaligus. Arah diagonal dapat diikutsertakan pula dengan menambah 2 persamaan yang mirip dengan Persamaan (2.7) dan (2.8) ke dalam Persamaan (2.6). Hasilnya kemudian direpresentasikan dalam bentuk kernel seperti terlihat dalam Gambar 2.16.

-1 -1 -1

-1 8 -1

-1 -1 -1

(22)

 

(a) Citra asli. (b) Citra yang telah dilakukan edge detection

Gambar 2.17 Hasil operasi Edge Detection filter

2.5 Software Development Life Cycle (SDLC)

Software Development Life Cycle (SDLC) merupakan dasar bagi perencanaan yang telah diterapkan pada berbagai program pengembangan dari awal sampai diterapkannya suatu software yang berguna untuk mengetahui kemajuan atau perkembangan sistem dan juga sebagai alat pengukur waktu.

Tahapan – tahapan dari SDLC dapat dilihat pada gambar di bawah ini :

Gambar 2.18 System Development Life Cycle Analisis dan Penentuan Kebutuhan Design Coding Test Installation and M aintenance

(23)

 

a. Analisis dan Penentuan Kebutuhan (Requirements)

M engumpulkan kebutuhan secara lengkap kemudian dianalisis dan didefinisikan kebutuhan yang harus dipenuhi oleh aplikasi yang akan dibangun. Fase ini harus dikerjakan secara lengkap untuk menghasilkan design yang lengkap.

b. Design

M endesain sistem baru agar dapat lebih efektif, performance yang bagus, user friendly, dan sebagainya.

c. Coding

Berdasarkan hasil rancangan, dibuatlah program dengan menggunakan bahasa pemrograman yang telah ditentukan.

d. Test

Pada fase ini akan dilakukan testing pada program yang telah jadi yaitu untuk mengecek kesalahan rancangan dan kesesuaiannya dengan spesifikasi sistem dalam hal pengoperasiannya dan performance-nya.

e. Installation and Maintenance

Instalasi terhadap sistem yang telah selesai dikembangkan, kemudian dilakukan perawatan terhadap sistem, meliputi penanganan error, penambahan feature baru, dan upgrade terhadap sistem. Kegiatan maintenance ini lebih mengarah ke perancangan ulang sistem yang disebut sebagai daur ulang aktifitas.

(24)

 

2.6 Shneiderman’s “Eight Golden Rules of Interface Design”

M enurut Shneiderman (1993, p72), prinsip atau aturan dari delapan golden rules ini adalah sebagai berikut :

a. Strive for consistency

Interface dari suatu aplikasi dijaga agar tetap konsisten, dimulai dari menu – menu yang ada dalam tiap layar tetap sama, dengan ukuran resolusi yang berbeda, tampilan dari interface tetap sama.

b. Enable frequent user to use shortcuts

Semakin sering user menggunakan suatu aplikasi, user dapat dimudahkan dengan adanya shortcut yang berupa special keys, hidden commands, dan lain sebagainya.

c. Offer informative feedback

Aplikasi yang digunakan dapat memberikan informasi yang berguna untuk memudahkan user dalam menggunakannya.

d. Design dialog to yield closure

Aplikasi yang dibuat didesain untuk memberikan kemudahan bagi user dengan memberikan suatu informasi sebagai bantuan. Dimana bantuan atau informasi itu dapat berupa informasi untuk melengkapi suatu action yang dilakukan oleh user.

(25)

 

Sebisa mungkin aplikasi yang dibuat membuat user untuk tidak melakukan suatu kesalahan yang fatal. Jika ada suatu kesalahan yang dibuat maka aplikasi yang dibuat haruslah dapat menunjukkan dimana terjadi kesalahan dan menawarkan suatu cara yang mudah untuk menangani kesalahan tersebut.

f. Permit easy reversal of actions

Aplikasi yang dibuat dapat melakukan suatu action untuk kembali ke action yang sebelumnya jika terjadi suatu kesalahan.

g. Support internal locus of control

M ensupport user yang berpengalaman untuk menjadi suatu initiators dari suatu kegiatan bukan sebagai responders.

h. Reduce short-term memory load

Aplikasi dibuat sederhana untuk mengurangi waktu proses, training, dan lain sebagainya dikarenakan keterbatasan manusia untuk memproses informasi.

Gambar

Gambar 2.1 Citra Digital
Gambar 2.3 piksel – piksel pinggir (yang tidak diarsir) tidak dikonvolusi.
Gambar 2.5 Citra yang mengalami gangguan berupa noise
Gambar 2.7 (a)Image asli. (b)Hasil convolution smooth
+7

Referensi

Dokumen terkait

Dari hasil analisis yang telah penulis lakukan tentang pandangan dari tempat objek penelitian, yakni Asuransi prudential di Palangka Raya mengenai permasalahan strategi

Distribusi dan Kepadatan Penduduk Menurut Kecamatan di Kota Semarang, 2016/ Population Distribution and Density by Subdistrict in Semarang Municipality, 2016 ......31 Jumlah

23 Hasil wawancara dengan informan utama yaitu bapak samsul anam selaku kasubag ortala dan kepegawaian pada tanggal 5 juni 2012. 24 Tim reformasi birokrasi kantor wilayah

Obsevasi lapangan merupakan persiapan yang paling penting sebelum melaksanakan program PPL. Pelaksanaan observasi mampu membantu mahasiswa dalam mendeskripsikan langkah

Jika sekolah memilih jalan untuk tidak sekadar menjadi pengawet atau penyangga nilai-nilai, tetapi penyeru pikiran-pikiran yang produktif dengan

Tekanan utama yang dirasakan oleh anak disebabkan karena perpisahan dengan lingkungan normal dimana orang lain berarti, serta mendapatkan lingkungan baru yang asing

Tahun 201,6 tentang Kedudukan, Susunan Organisasi, T\rgas dan Fungsi serta Tata Kerja Badan Pengelola Keuangan Dan Aset Daerah Provinsi Riau;.. bahwa berdasarkan Lampiran

Pengadaan bahan baku segar yang optimal adalah pengadaan bahan baku segar yang dapat meminimalkan biaya yang dikeluarkan, dapat memenuhi kebutuhan produksi, sesuai