III. METODOLOGI PENELITIAN
3.1 Kerangka Pemikiran Pemerintah akhir-akhir ini sering dihadapkan pada masalah persediaan pupuk bersubsidi yang daya serapnya rendah dan kasus kelangkaan di berbagai lokasi di Indonesia. Lambatnya tanggapan pemerintah terhadap sinyal-sinyal krisis ini menyebabkan kejadian kelangkaan pupuk terjadi hampir merata di seluruh Indonesia. Setelah krisis kelangkaan terjadi barulah pemerintah bertindak untuk menanganinya. Hal ini berpengaruh terhadap nasib petani yang berhubungan langsung dengan komoditi pupuk tersebut, sehingga dalam kasus ini bisa dibilang petanilah yang menanggug beban kelangkaan pupuk yang terjadi. Untuk mengatasi hal tersebut diperlukan sistem deteksi dini yang menangkap sinyal-sinyal krisis yang kemungkinan akan terjadi sehingga pemerintah dapat melakukan tindakan sebelum suatu krisis terjadi. Hal ini tentunya akan membantu pihak petani agar tidak selalu menderita menanggung harga pupuk yang berada jauh di atas harga eceran tertinggi yang ditentukan oleh pemerintah. Oleh karena alasan tersebutlah dibuat kajian khusus tentang sistem deteksi dini bagi petani padi ini. Kajian ini diawali dengan menganalisis faktor dan variabel penentu dalam sistem distribusi pupuk bersubsidi dengan menggunakan teknik perbandingan eksponensial dan AHP. Faktor dan variabel penentu ini akan dijadikan sebagai masukan dalam pengembangan sistem deteksi dini distribusi pupuk bersubsidi bagi petani padi. Sementara itu, arsitektur prototipe deteksi dini dirancang untuk mendukung proses pengambilan keputusan sebelum dan sesudah terjadi krisis kelangkaan persediaan pupuk. Prototipe ini mempunyai arsitektur sistem yang secara konseptual menyediakan fasilitas input data dan informasi, model pemrosesan data dan menghasilkan output berupa informasi intensitas krisis dan saran tindak lanjutnya. Input model berupa data yang didapatkan dari distributor resmi dan kelompok tani secara periodik. Data dan informasi ini sesuai dengan struktur rancangan database model deteksi dini. Model deteksi dini mengolah input data primer dan sekunder yang didapat dari BPS serta instansi terkait . Gambar 13 menjelaskan model konseptual arsitektur prototipe deteksi dini manajemen krisis penyediaan pupuk bersubsidi untuk petani padi. Dinas Pertanian
Gambar 13. Konsep arsitektur prototipe deteksi dini manajemen krisis penyediaan pupuk bersubsidi bagi petani padi 21
3.2 Tahapan Penelitian Proses dan metode dalam penelitian ini terdiri atas beberapa tahapan. Kerangka tahapan penelitian disajikan dalam Gambar 14. Mulai
Studi literatur, wawancara, dan survey lapang
Identifikasi Masalah
- Metode Perbandingan Eksponensial - Analytical Hierarchy Process (Saaty, 1980)
Analisis Faktor Kritis Penyediaan Pupuk Bersubsidi
Pelatihan JST
- Artificial Neural Network : Probabilistic & Backward Propogation (Patterson 1996, Seminar et al 2006) Pengujian JST
Uji Model (OK)?
Tidak
Ya Selesai
Gambar 14. Tahapan proses penelitian dan metode yang digunakan
3.2.1 Identifikasi Masalah Identifikasi masalah dilakukan dengan turun ke lapang dan melakukan wawancara serta juga studi literatur untuk mendapatkan gambaran umum tentang permasalahan distribusi dan kelangkaan yang terjadi. Pada jaringan syaraf tiruan, identifikasi masalah diperlukan untuk menganalisis hasil yang diharapkan. Hal ini penting dilakukan untuk mendapatkan data yang relevan dengan masalah penelitian yang akan dilakukan sehingga hasil yang diharapakan dapat digunakan pada tahap selanjutnya.
3.2.2 Analisis Faktor Kritis Penyediaan Pupuk Bersubsidi Pada tahap ini dilakukan analisis untuk menentukan faktor-faktor yang mungkin dan relevan yang dapat mengakibatkan kelangkaan pupuk urea yang terjadi di Kabupaten Banyumas. Dari faktor-
22
faktor yang didapatkan tersebut dilakukan pengurutan berdasarkan tingkat penyebab utama kelangkaan yang terjadi dengan menggunakan Metode Perbandingan Eksponensial. Setelah diurutkan faktor penyebab tersebut dianalisis kembali dengan Analytical Hierarchy Process berdasarkan penilaian pakar. Langkah selanjutnya adalah membuang faktor yang diduga bukan merupakan faktor kritis dan mengumpulkan data sekunder dari faktor kritis dari dinas setempat dan juga BPS serta berbagai sumber lain. Setelah data terkumpul, data dinormalisasi ke dalam selang 0.1 dan 0.9 menggunakan persamaan sebagai berikut : 0.8 x min x 0.1 max x min x Normalisasi ini dilakukan mengingat salah satu fungsi aktifasi sigmoid yang akan digunakan merupakan fungsi asimotik yang nilainya tidak pernah mencapai nilai 0 ataupun 1 (Siang 2009).
3.2.3 Pelatihan Jaringan Merujuk dari penelitian sebelumnya oleh Seminar et al. (2009) maka arsitektur yang digunakan adalah Multi-Layer Percepton dengan menggunakan 2 hidden layer dan Algoritma pembelajarannya adalah Backpropagation. Menurut Siang (2009), jaringan dengan satu hidden layer sudah cukup untuk sembarang perkawanan antara masukan dan target dengan tingkat ketelitian yang ditentukan. Akan tetapi penambahan jumlah hidden layer kadangkala membuat pelatihan menjadi lebih mudah. Dalam Algoritma Backpropagtion setidaknya ada 3 langkah penting dalam pelatihan jaringannya, yaitu tahap Fase Maju, Fase Mundur, dan Perubahan Bobot. Berikut adalah tahapan detail dari setiap langkah pelatihan Jaringan Backpropagation. Langkah 0.
Inisialisasi bobot (biasanya digunakan nilai acak yang kecil) set laju pembelajaran
Langkah 1. Langkah 2.
Selama syarat henti salah, lakukan langkah 2 – 11 Untuk setiap pasangan pelatihan (masukan dan target), lakukan langkah 3 – 10.
Fase Maju
Langkah 3. Langkah 4.
Setiap unit masukan (Xi, i=1, ..., n) menerima sinyal masukan xi dan meneruskannya ke seluruh unit pada lapisan di atasnya (hidden units). Setiap unit tersembunyi kesatu (Zh, h = 1,…., q) menghitung total sinyal masukan terbobot, n
z _ in h u oj
x u i
i 1
ij
ih
lalu menghitung sinyal keluarannya dengan fungsi aktivasi, z h f ( z _ in h )
Langkah 5.
dan mengirimkan sinyal ini keseluruh unit pada lapisan tersembunyi kedua Setiap unit tersembunyi pada lapisan kedua (ZZj, j = 1,…., p) menghitung total sinyal masukan terbobot, n
zz _ in j v oj
z v
h hj
i 1
lalu menghitung sinyal keluarannya dengan fungsi aktivasi, zz j f ( zz _ in j )
23
Langkah 6
Setiap unit output (Yk, k= 1,...,m) menghitung total sinyal masukan terbobot, p
y _ in k w0 k
zz
j w jk ,
j 1
lalu menghitung sinyal keluaran dengan fungsi aktivasi y k f ( y _ in k )
Fase Mundur
Langkah 7.
Setiap unit output (Yk, k=1,…,m) menerima sebuah pola target yang sesuai dengan pola masukan pelatihannya. Unit tersebut menghitung error,
k (t k y k ) f ' ( y _ in k ) kemudian menghitung koreksi bobot (digunakan untuk mengubah wjk) w jk k zz j dan menghitung koreksi bias w0 k k
serta mengirimkan nilai k ke unit pada lapisan tersembunyi (ZZj, j = 1…….p) Langkah 8.
Setiap unit tersembunyi (ZZj, j = 1…….p) menghitung selisih input (dari unit-unit pada layer di atasnya),
_ in j
m
k w jk
k 1
lalu mengalikannya dengan turunan fungsi aktivasi untuk menghitung informasi errornya, j _ in j f ' ( zz _ in j ) selanjutnya menghitung koreksi bobot untuk mengubah vij nanti, v ij j x i dan menghitung koreksi biasnya v 0 j
j
dan mengirim j ke lapisan tersembunyi ke dua (Zh, h=1.....q). Langkah 9
Untuk setiap lapisan tersembunyi (Zh, h=1.....q): Menjumlahkan bobot input dari unit-unit pada layer di atasnya, p
_ in h
j v hj
k 1
lalu mengalikannya dengan turunan fungsi aktivasi untuk menghitung informasi errornya,
h _ in h f ' ( z _ in h ) selanjutnya menghitung koreksi bobot untuk mengubah vij nanti, u ih h x i
dan menghitung koreksi biasnya v 0 j
j
24
Perubahan bobot dan bias
Langkah 10.
Setiap unit output (Yk, k= 1, ..., m) mengubah bias dan bobot-bobotnya (j=0,......,p); w jk ( new ) w jk (old ) w jk
Setiap unit tersembunyi , ZZj, (h=0.....q : j=1,..,p) mengubah bias dan bobotnya v hj ( new ) v h j ( old ) v hj
Setiap unit tersembunyi Zh,(i=0,.......,n : h =1,..,q) mengubah bias dan bobotnya u ih (new) u ih (old ) u ih
Langkah 11.
Uji syarat henti : n
Jika besar total square-error
(t
k
y k ) 2 lebih kecil dari toleransi yang telah
k 1
ditentukan atau jumlah epoch pelatihan sudah mencapai epoch maksimum, maka selesai; jika tidak maka kembali ke langkah 1. Nilai toleransi () yang digunakan adalah 1 < ≤ 0. Pelatihan jaringan ini pada dasarnya bertujuan untuk mengubah bobot jaringan yang dapat mengingat segala informasi yang telah kita latihkan. Proses pelatihan ini biasanya membutuhkan waktu yang lama untuk data yang jumlahnya banyak karena perubahan bobot dilakukan dengan proses iterative hingga batas yang ditentukan tercapai. Batasan kinerja yang sering digunakan dalam pelatihan jaringan Backpropagation adalah Mean Square Error (MSE). Fungsi ini akan mengambil rata-rata kuadrat error yang terjadi antara output jaringan dan target.
3.2.4 Pengujian Jaringan Seperti halnya pelatihan pada jaringan Backpropagation. Pada pengujian jaringan Backpropagation pun memiliki tahapan yang terstruktur. Berikut adalah tahapan dari pengujian Jaringan Backpropagation. Langkah 0. Langkah 1. Langkah 2.
Inisialisasi bobot (digunakan nilai bobot yang diperoleh dari algoritma pelatihan) Untuk setiap vektor masukan x, lakukan langkah 2-6 Set nilai aktivasi dari unit masukan, i = 1, .... , n xi si
Langkah 3. Langkah 4.
Setiap unit masukan (Xi, i=1, ..., n) menerima sinyal masukan xi dan meneruskannya ke seluruh unit pada lapisan di atasnya (hidden units). Setiap unit tersembunyi kesatu (Zh, h = 1,…., q) menghitung total sinyal masukan terbobot, n
z _ in h u oj
x u i
i 1
ij
ih
lalu menghitung sinyal keluarannya dengan fungsi aktivasi, z h f ( z _ in h )
dan mengirimkan sinyal ini keseluruh unit pada lapisan tersembunyi kedua
25
Langkah 5.
Setiap unit tersembunyi pada lapisan kedua (ZZj, j = 1,…., p) menghitung total sinyal masukan terbobot, n
zz _ in j v oj
z v
h hj
i 1
lalu menghitung sinyal keluarannya dengan fungsi aktivasi, zz j f ( zz _ in j )
Langkah 6
Setiap unit output (Yk, k= 1,...,m) menghitung total sinyal masukan terbobot, p
y _ in k w0 k
zz
j w jk ,
j 1
Lalu menghitung sinyal keluaran dengan fungsi aktivasi y k f ( y _ in k )
Pada dasarnya langkah pengujian sama dengan langkah pelatihan namun hanya sampai pada tahap pertama atau tahap feedforward dan tidak dilanjutkan pada tahap selanjutnya. Karena tujuan dari proses pengujian hanya untuk mencari keluaran bukan untuk melakukan perubahan bobot dan minimasi error.
3.2.5 Validasi dan Perhitungan Error Validasi dan perhitungan error bertujuan untuk pengukuran keakurasian. Ada dua macam perhitungan error yang dipakai, yaitu Mean Square Error (MSE) untuk membadingkan hasil target jaringan dan Mean Absolute Percentage Error (MAPE) untuk menghitung persentase tingkat akurasi jaringan. Validasi yang akan digunakan pada penelitian kali ini adalah validasi silang (cross validation). Validasi silang merupakan suatu metode statistik yang digunakan menganalisa dan mengukur keakuratan hasil percobaan pada data yang independen. Metode ini membagi sebuah data menjadi beberapa subdata yang selanjutnya subdata satu digunakan untuk mengkonfirmasi kebenaran subdata yang lain. MSE merupakan salah satu dari beberapa macam error yang sering dipakai. MSE merupakan rata-rata kuadrat dari selisih antara output jaringan dengan target output. Tujuan utama adalah memperoleh nilai error ini sekecil-kecilnya dengan secara iteratif mengganti nilai bobot yang terhubung pada semua neuron pada jaringan syaraf. Untuk mengetahui seberapa banyak bobot yang harus diganti, setiap iterasi memerlukan perhitungan error yang berasosiasi dengan setiap neuron pada output dan hidden layer. Rumus dari MSE yang akan digunakan pada metode jaringan syaraf adalah sebagai berikut :
∑ Perhitungan MAPE hampir sama dengan perhitungan MAE, hanya hasilnya dinyatakan dalam persentase. Formula berikut merupakan rumus dari MAPE :
Dimana :
m adalah jumlah pola yang dihitung
nc adalah nilai vektor target atau nilai sebenarnya
nd adalah nilai keluaran atau nilai pendugaan.
26
3.3 Identifikasi Faktor Kritis Penentuan faktor kritis dilakukan dengan melakukan dua tahapan. Tahapan pertama adalah dengan melakukan identifikasi faktor krisis dilakukan dengan teknik perbandingan eksponensial. Tahap kegiatan yang dilakukan adalah sebagai berikut: 1. 2. 3. 4. 5. 6.
Menyusun semua alternatif faktor yang dipertimbangkan melalui studi literatur dan wawancara pakar. Tentukan kriteria-kriteria penting dalam pemilihan faktor tersebut. Lakukan penilaian terhadap semua alternatif faktor pada setiap kriteria. Susun matrik penilaian dan identifikasi arah dan rentang penilaian. Lakukan penghitungan skor atau nilai total setiap alternatif faktor. Tentukan urutan prioritas faktor didasarkan pada skor atau nilai total masing-masing alternatif.
Sedangkan tahapan selanjutnya adalah analisis dan prioritasi faktor-faktor kritis yang mempengaruhi krisis penyediaan pupuk bersubsidi di Banyumas dilakukan dengan menggunakan metode Analitical Hierarchy Process (AHP). Komponen-komponen pada setiap hierarki di elaborasi dari analisis dan sintesis pada tahap sebelumnya.
3.4 Arsitektur Jaringan Propagasi Balik Dalam membentuk arsitektur jaringan ada beberapa hal penting yang harus diperhatikan, antara lain learning rate dan momentum. Learning rate menentukan seberapa cepat jaringan syaraf tersebut mempelajari pola dari data training. Momentum meningkatkan kecepatan dalam menemukan nilai yang diinginkan. Pemakaian parameter momentum ini bertujuan agar proses penyesuaian bobot tetap cenderung dalam arah yang sama. Nilai ini harus dipilih dengan benar, jika terlalu kecil maka proses pembelajaran akan lama dan jika terlalu besar maka akan terjadi penyimpangan. Sedangkan momentum menunjukkan bahwa bobot pada iterasi sebelumnya mempengaruhi bobot sekarang. Selain learning rate dan momentum ada beberapa hal yang bisa dimanipulasi untuk mengoptimalkan pelatihan Backpropagation. Hal-hal tersebut antara lain adalah fungsi aktivasi, pemilihan bobot awal, penentuan jumlah iterasi, penentuan jumlah layer, hidden layer, neuron input, output dan toleransi error berdasarkan MSE (Renaldy 2007).
3.4.1 Penentuan Learning rate dan Momentum Tujuan penentuan learning rate dan momentum ini adalah untuk menentukan perubahan bobot yang terbaik agar target proses pelatihan dengan error yang terkecil dapat tercapai sesuai target. Dalam standar Backpropagation, learning rate berupa suatu konstanta yang nilainya tetap selama proses iterasi. Akibatnya, unjuk kerja algoritma sangat dipengaruhi oleh besarnya learning rate yang dipakai. Selain learning rate, momentum juga mempengaruhi perubahan bobot jaringan selama masa pelatihan. Penambahan momentum ini dimaksudkan untuk menghindari perubahan bobot yang mencolok akibat adanya data yang sangat berbeda dengan data yang lain (Siang 2009). Dalam penelitian ini akan digunakan beberapa nilai learning rate dan momentum untuk mendapatkan nilai error yang paling maksimal. Penentuan nilai parameter learning rate dan momentum pada penelitian ini ditentukan dengan trial dan error. Adapun nilai momentum dan learning rate adalah konstanta nilai diantara 0 dan 1.
27
Merujuk pada penelitian Hendri (2010) akan digunakan masing-masing tiga konstanta untuk mencari mana nilai learning rate dan momentum yang terbaik yang akan digunakan adalah arsitektur jaringan Backpropagation ini. Adapun nilai Nilai learning rate yang diujicobakan pada penelitian ini adalah 0.005, 0.3, 0.2, 0.1 sedangkan nilai momentum yaitu 0.1, 0.6 dan 0.9.
3.4.2 Penentuan Fungsi Aktivasi Dalam backpropagation, fungsi aktivasi yang dipakai harus memenuhi beberapa syarat yaitu : continue, terdiferensial dengan mudah dan merupakan fungsi yang tidak turun. Alternatif lain adalah menggunakan fungsi linear hanya untuk layar output (Siang 2009). Berdasarkan tinjauan pustaka tersebut maka fungsi yang dipakai dalam pembentukan arsitektur jaringan dalam penelitian ini adalah fungsi sigmoid bipolar untuk semua fungsi masukan ke layar berikutnya dan fungsi linear untuk layar keluaran.
3.4.3 Pemilihan Bobot Awal Bobot awal akan mempengaruhi apakah jaringan mencapai titik minimum lokal atau global dan seberapa cepat konvergensinya. Bobot yang menghasilkan nilai turunan aktivasi yang kecil sedapat mungkin dihindari karena akan menyebabkan perubahan bobot menjadi sangat kecil. Demikian pula nilai bobot awal tidak boleh terlalu besar karena nilai turunan fungsi aktivasi menjadi kecil juga. Oleh karena itu dalam standar backpropagation, bobot diisi dengan bilangan acak kecil (Siang 2009). Salah satu cara menentukan bobot dengan bilangan acak kecil adalah dengan menentukannya secara manual untuk menghasilkan hasil yang baik, namun cara ini terkadang tidak praktis dan membutuhkan tambahan waktu untuk melakukannya. Namun pada penelitian ini penentuan bobot jaringan ditentukan oleh MATLAB secara acak agar mempercepat proses pelatihan jaringannya.
3.4.4 Penentuan Jumlah Iterasi Jumlah iterasi sering juga disebut juga sebagai epoch dalam Backpropagation. Satu epoch adalah satu siklus yang melibatkan seluruh pola data training (training pattern). Dalam proses belajar jaringan backpropagation biasanya memerlukan banyak epoch. Pada penelitian ini ditentukan banyaknya iterasi yang dilakukan pada proses belajar adalah 5000 epoch. Jumlah ini diperkirakan cukup dan merupakan referensi dari penelitian Seminar et al. (2009) dapat menghasilkan performansi jaringan yang baik.
3.4.5 Penentuan Jumlah Layer, Hidden Layer, dan Neuron Input dan Output Penentuan arsitektur hidden layer terdiri atas dua bagian, yaitu penentuan jumlah layar dan ukuran layar. Jumlah layar yang digunakan dalam hidden layer adalah satu layar. Hal ini dilakukan karena dua pertimbangan, yaitu karena jumlah data training dan waktu training. Selain itu performansi dengan satu hidden layer juga baik untuk network dengan node yang tidak begitu banyak. Dalam penelitian ini, digunakan jumlah unit input terdiri dari delapan input data dengan dua unit hidden layer dan satu unit output.
28
3.4.6 Penentuan Toleransi Galat Dalam Backpropagation defaultnya perhitungan unjuk kerja dilakukan berdasarkan kuadrat rata-rata kesalahan atau Mean Square Error (MSE). MSE digunakan untuk menampilkan batas nilai agar iterasi dihentikan. Iterasi akan berhenti jika MSE lebih kecil daripada batas yang ditentukan atau jumlah epoch mencapai batas yang ditentukan. Pada penelitian ini, nilai yang diset adalah 0.0000005. hal ini disesuaikan dengan pendapat Dhaneswara et al. (2004), semakin kecil MSE, JST semakin kecil kesalahannya dalam memprediksi kelas dari record yang baru. Maka pelatihan JST ditujukan untuk memperkecil MSE dari satu siklus ke siklus berikutnya sampai selisih nilai MSE pada siklus ini dengan siklus sebelumnya lebih kecil atau sama dengan batas minimal yang diberikan. Rincian arsitektur jaringan yang akan dirancang untuk melakukan pelatihan Backpropagation disajikan pada Tabel 2. Tabel 2. Arsitektur JST yang akan dikembangkan Karakteristik Spesifikasi Neuron input layer 9 neuron Jumlah Hidden layer 2 layer Neuron output layer 1 neuron Fungsi aktivasi Sigmoid bipolar dan linear Toleransi galat 0.0000005 Epoch / Iterasi 5000 Penentuan Bobot Bilangan acak kecil dari MATLAB
3.5 Data Percobaan dan Pelatihan Oleh karena jaringan syaraf tiruan bekerja berdasarkan pola waktu masa lalu, maka pada penelitian ini digunakan sejumlah data deret waktu yaitu data-data faktor penyebab krisis pada tahapan analisis sebelumnya. Adapun contoh data yang kemungkinan merupakan faktor penyebab kelangkaan pupuk adalah data kebutuhan pupuk Urea, data penggunaan dosis pupuk urea, data loss pupuk selama distribusi, data perbedaan harga antara pupuk subsidi dan non-subsidi, data besarnya subsidi yang diberikan oleh pemerintah, data perubahan harga gabah dan bahan baku dan data lain yang berhubungan dengan penyebab kelangkaan pupuk dari 27 kecamatan yang ada di Kabupaten Banyumas. Data input ini merupakan data deret waktu yang diambil dari Januari 2006 hingga Desember 2008. Atribut-atribut tersebut dipilih karena keterkaitan antar atribut diperoleh dengan menggunakan metode kausalitas antar atribut data. Data yang diperoleh akan dibagi menjadi dua bagian, yaitu data yang digunakan sebagai data pelatihan dan sisanya data yang digunakan sebagai data penelitian atau simulasi. Pembagian data ini dilakukan dengan Rasio 80: 20. Nilai ini memiliki arti 80% data digunakan sebagai data pelatihan jaringan dan 20% data digunakan sebagai data penelitian atau simulasi (Salya 2006).
29
3.6 Waktu dan Tempat Penelitian Penelitian ini dilakukan mulai dari bulan July sampai dengan Oktober 2010 bertempat di Kabupaten Banyumas tepatnya di Dinas Pertanian Tanaman Pangan. Pengolahan data dan ujicoba Jaringan dilakukan di Laboratorium Teknik Manajemen Industri, Institut Pertanian Bogor.
3.7 Spesifikasi Sistem Pengimplementasian sistem jaringan syaraf tiruan ini menggunakan MATLAB versi 7.8.0.347 (R2009a). MATLAB merupakan perangkat lunak yang cocok dipakai sebagai alat komputasi yang melibatkan data yang banyak dan menggunakan matriks dan vektor. Fungsi-fungsi yang terdapat pada toolbox MATLAB memudahkan pengguna melakukan perhitungan dengan menggunakan data yang besar. Selain itu, MATLAB juga menyediakan fungsi-fungsi khusus untuk menyelesaikan model jaringan syaraf tiruan (Siang 2009). Spesifikasi perangkat keras dan perangkat lunak lainnya yang digunakan dalam penelitian ini adalah : 1. CPU : Intel ® Dual Core T2130 @ 1.86GHz 1 MB Cache 2. Memory 1 GB Memory 3. Mouse 4. Modem 5. Sistem operasi Microsoft® Windows XP SP 2 6. Microsoft® Office 2007. 7. Expert Choice.
30