Waaaaaah, akhirnya. Alhamdulillah. Hahaha. Aku mau cerita nih! Semangat pagiku disponsori oleh ke-tidak-tenang-an dari hati. Yes! Galauin laporan magang! Sangat berfaedah bukan? Tapi of course sangat membuat tidak tenang berminggu-minggu. So, check this out! My very first experience!
Magang atau nama formal mata kuliahnya Kuliah Magang Mahasiswa adalah mata kuliah wajib 2 SKS. Diawali dengan kurikulum baru yang kabarnya magang bisa dilaksanakan pertengahan tahun 2018. Shocked. Harapan wisuda dibawah 4 tahun sirna sudah. Baiklah. Perlu adanya kejelasan.
Okay, magang bisa awal tahun.
Drama mencari magang dimulai tapi ceritanya di part lain aja. Sekarang cerita tentang drama pembuatan laporan magang. Aslinya belum selesai, baru nulis di Word (belum dipindah ke Latex). FYI, aku bikin target, masuk kuliah = laporan selesai. Bahkan pas magang udah bikin jadwal buat konsul dosen. Sebegitu niatnya saya. 😆
Sebelum magang udah mencicil buat laporan, udah cicil bagian pelaksanaan kegiatan. Isinya semacam profil tempat magang. Sebelum magang, kenal profilnya sekalian. Ngetik di Latex. Mikir kalimatnya udah oke apa belum. Dari awal udah berencana mau bikin peramalan. Karena mata kuliah favoritku di semester 5 adalah peramalan. Takjub aja, ternyata gak cuma Dilan yang bisa meramal. 🔮🔮🔮
Karena udah dapat topik, baru nyari data. Aturannya sih dapat data dulu baru menentukan topik. Karena gak semua data bisa diolah jadi peramalan, bisa diramalkan ketika data itu time series. Alhamdulillah, magang di bagian yang dekat dengan data itu. Dapatlah data pelanggan. Langsung deh, ambil 5 tahun data. Langsung mengolah dan dapat MAPE 1. Ahhh, senang banget. Fixed bisa diolah.
Dengan ke-PD-an yang tinggi, cuma berdasarkan MAPE doang, akhirnya bikin landasan teori. Selesai! Oke, siap masuk ke pembahasan. But, first aku harus ke kampus dulu buat pinjam laporan magang. Pinjam 2 laporan, data pelanggan aktif dan baru. Oh yaa, yang tadi MAPE-nya 1 itu pelanggan aktif. Kalau pelanggan baru malah MAPE-nya 46. Tinggi yaa? Karena datanya random juga.
Baca-baca laporan magang, nyoba-nyoba, dan sedih banget ternyata autocorrelation-nya justru menunjukkan bahwa metode yang dipakai gak cocok. Ahhhh. Baiklah. Baru satu metode, nyoba kemungkinan metode lain, dan tetep gak cocok.
Di sisa semangat akhirnya cerita ke kakak tingkat (kating). Aku menyadari masih banyak yang gak aku ketahui. Aku bertanya, diberi solusi. Coba bikin data yang 3 bulanan. Karena datanya 60, 60 dibagi 3 kan 20, padahal minimal data yang baik untuk peramalan itu 30. Yaudah deh, coba 2 bulanan. Eh bisa!
Senang luar biasa. Tapi... ada tapinya, apa yang aku ceritakan bakal banyak tapinya. Hahahaha. 😁😁😁
Tapi, aku gak tau apa alasan menjadikan data yang diolah itu 2 bulanan. Kating juga memberi pandangan, jarang ada data diolah 2 bulanan. Hmm. Baiklah. Dicoba untuk minta data lagi. Total jadi 96 data, nambah data 3 tahun. Dibikin 3 bulanan, ternyata gak bisa. Lagian gak mungkin juga. Ini data pelanggan, bukan penjualan. Ketika digabungkan (jadi 3 bulanan), sama aja ada pelanggan yang dihitung 3 kali. Beda kalau penjualan. Nyoba diolah 96 data juga gak bisa. Nyoba dihilangkan outlier-nya, tetap gabisa. Fixed, ini gabisa. Jangan dipaksakan.
Kating menyarankan lagi, coba pakai metode lain, JST misal. JST atau Jaringan Saraf Tiruan. Gak asing buat aku. Dan Alhamdulillah aku ada referensi laporan kating juga. Baca-baca dan ada semangat lagi.
"Ada harapan." 😃
Berbekal ilmu dangkal pernah ambil mata kuliah pilihan Soft Computing dan Data Mining, berniatlah untuk mencoba. Pertama, aku harus ke kampus buat instal Matlab (sebelumnya pakai Minitab). JST lebih ke pemodelan mungkin yaa.
Ke kampus hari Jumat siang, sampai sore nungguin, karena Sabtu tutup (katanya). Harusnya hari itu aku konsul, tapi malah instal. Oke, mundur seminggu gapapa. Selesai. Sampai rumah coba Matlab-nya, but, out of my expectation. Matlab-nya beda sama yang ada di tutorial. Versinya lebih lama. Yaaah. Sama aja sih aslinya, tapi kok gimana gitu.
Cerita ke kating lain, disaranin minta ke kating ini. Minta deh, karena terlalu besar kalau dikirim, mending minggu depan ketemu aja. Baiklah. Menunda konsul lagi, yaudah lah nyoba-nyoba download crack Matlab. Dapat! Pas download....
AHHHH. KENA VIRUS!!
Gak bisa dilacak, selalu pop-up. SO SAD!
Besoknya langsung ke tempat servisan. Disaranin instal ulang. Sedihnya adalah semua software matematika bakal hilang. Apa boleh buat. Instal Windows 10 sekalian. Minggu gabisa jadi. Senin belum tau. Antri katanya, lagi rame. Okay. Nunggu. Sambil menyemangati diri sendiri dengan bilang, "Allah tau yang terbaik, harus sabar.". Magangnya pakai netbook-nya mbak dulu.
Selasa dikabari udah jadi. Alhamdulillah, Windows-nya lebih bagus (8 ke 10), Microsoft-nya juga (2013 ke 2016), Photoshop (4 ke 6), Corel Draw tetep.
"Allah tidak akan mengambil sesuatu darimu kecuali Allah akan menggantinya dengan yang lebih baik."
Alhamdulillah.
Meskipun harus hilang, tapi gapapa. Nanti instal lagi bisa.
Jumat ke kampus, tapi buru-buru harus pulang karena sesuatu hahahaha. Intinya ketemu kating dan dapat software-nya. Instal. Berhasil!
Okay. Matlab dimulai. Sebelumnya udah diwanti-wanti, JST itu gak mudah, training-nya selalu beda, bahkan MSE kecil gak menjamin JST itu baik digunakan. Terus dasarnya apa coba? Pokoknya coba-coba dulu aja, banyak baca. Udah gitu aja.
Coba deh, input, output, target, normalisasi, MAPE, network, plot regression, training, validation, neuron, semuanya dicoba hahaha. Ketika plot regression itu bagus, plek ketiplek di garis seperti gambar ini
Bagus kan?
Okay, let me first give you intro. Data asli itu di normalisasi dulu. Setelah itu dibagi menjadi dua, input dan target. Input dilatih untuk mendapatkan output yang mendekati sama dengan target. Nah garis berwarna itu adalah kecocokan antara output=target. Sedangkan garis putus-putus itu hasil terbaik output=target. Jadi, garis berwarna harus fit ke garis putus-putus. Correct me if I'm wrong.
Karena cocok, langsung deh coba output-nya dan banding MAPE. Hasilnya dibawah 1. Hebat nih JST. Karena udah yakin, mencoba meramalkan dan hasilnya mengecewakan. Hasil ramalannya sama semua. Lah mana ada begitu kan. Padahal datanya aja berpola tren. Harusnya ada kenaikan. Tapi malah sama semua. Sedih lagi.
Okay. Di sini adalah bukti keterbatasan ilmu pengetahuan. Aku pribadi sangat menyadari pengetahuanku dangkal. So, what to do is "Iqra'". Bacalah.
Aku pinjam laporan kating lain yang topiknya sama, JST. Okay. 3 laporan kating udah aku punya. Mencoba 1-20 neuron. Training sekali. Dan mendapatkan yang sekiranya baik. Targetku, gak harus MAPE dibawah 1, yang aku mau ramalannya bisa beda. Jangan ditiru yaa, itu adalah bunyi keputusasaan.
So, I got it! Ramalannya ada yang beda-beda. Tapi kenaikannya sangat kecil, hanya puluhan, Hmm. Kok gini yaa, bahkan plot regression-nya aja jauh dari kata baik, alias mencong kemana-mana. Okay, di situ saya mulai stress. Di tengah ke-stress-an saya, tiba-tiba ada ide "gimana kalau coba data pelanggan baru instead of data pelanggan aktif?". Cukup menarik.
Alasannya, data pelanggan baru adalah data yang sangat random. Terkecil aja 50-an dan terbesar 2000-an. Amazing. "Gak ada salahnya mencoba", pikirku. Langsung coba. FYI, dari pagi sampai malam cuma main Matlab aja. Laptop nyala terus.
Nyoba 1-20 neuron pada hidden layer. Nyoba 1 neuron dulu dan uji MAPE. Pas di cek, MAPE-nya 88. Ingin menyerah tapi gak boleh. Nyoba semua, lihat plot regression-nya, di situ justru malah jadi banyak belajar. Kalau garis biru bagus, tapi lainnya mencong gimana respon MAPE, berlaku sebaliknya, dan responnya beda-beda, gak selalu paten kayak gini. Lagi-lagi tidak pasti. JST backpropagation (yang aku pakai) mengenali pola data, makanya ada istilah training, di situ aku gak tau proses training-nya seperti apa karena aku hanya tinggal menggunakan software-nya.
Dan ketika mencapai 20 neuron, didapat MAPE 11-an %. Ah. Teorinya metode peramalan yang baik adalah ketika MAPE dibawah 10%. Mulai deh kesedihannya. Tutup laptop, aku perlu istirahat. Semakin memaksakan, takutnya malah gimana-gimana. Lebih baik besok.
Besoknya, sebelum nyoba, cari dulu informasi, ada gak sih toleransi MAPE yang gak 10%. Atau teori siapa yang mengatakan MAPE harus maksimal itu. Ketemu! Salah satu jurnal dari universitas ternama, mereka menggunakan JST dengan toleransi MAPE 15%. Ah oke, karena gak ketemu siapa pencetus 10%, akhirnya pakai jurnal itu sebagai pustaka. Hehehe. 😁✌
Baca jurnalnya, pas di bagian jumlah neuron, di situ aku merasa harus berani mencoba. Ya! Dengan bekal keyakinan yang kuat, ea ea ea, mencoba deh beberapa neuron yang tinggi-tinggi. Hasilnya? MAPE-nya dibawah 15%, bahkan ada yang gak sampai 3%. Ditambah plot regression-nya juga fit. Hahahaha, senang sekaliiii! Gak menyangka!
Langsung deh, dirapikan lagi, di export datanya, dibikin peramalan. Hasilnya? Pasti angka random dong. Senang? Alhamdulillah. Jujur, dalam hati masih ada keraguan, apalagi pas baca fungsi aktivasi pakai logsig/purelin. Padahal aku tansig. Googling cari bedanya apa. Gak nemu. Tapi ada yang bilang purelin dipakai untuk data yang besar, sesuatu yang kenaikannya tinggi seperti populasi penduduk. Hmm. Aku cuma ngeh di bagian "penduduk", wah manusia. Jangan-jangan pelanggan bisa nih.
Nyoba deh diganti pakai purelin, tapi ternyata justru sulit, selalu mencong padahal udah training berkali-kali. Okay, Bismillah, JST ini final. InsyaAllah baik.
Dan dalam sehari langsung jadi draf landasan teori, pembahasan, dan penutup. 3 bab. Alhamdulillah, yang belum pendahuluan hahaha. Tapi ditunda dulu, mau nulis ini, kalau pendahuluan rada' butuh kreativitas diksi, jadi pemanasan dulu lewat blog. HALAH.
So?
Tibalah di ujung cerita. Di balik itu semua, aku sangat bersyukur galauin laporan magang di awal, coba aku baru sekarang mikirnya, udah ke-PD-an, eh gak taunya gak cocok. Nyoba JST juga gak mudah tapi bukan berarti sesuatu yang tepat. Aku pribadi sangat menyadari, JST bersifat trial and error. 😊 Peramalannya pun belum tentu tepat. Karena hanya berdasarkan data tanpa memandang faktor lain, misalnya musim hujan/kemarau, pembangunan, usaha marketing, dll. Murni hanya data berisi angka.
Di sini aku hanya berbagi cerita yang semoga bisa bermakna. Yap! Jangan pernah menyerah, itu pasti. Lelah boleh, nyerah jangan. Dan tentunya, selalu yakin kalau Allah punya rencana terbaik. Mungkin di sini Allah ingin aku belajar. Jika iya, maka Dia berhasil. Aku belajar, semakin belajar semakin menyadari ilmu-ku dangkal.
Selain itu, akhirnya laporanku sedikit ada faedahnya, yaitu meramalkan pelanggan baru, bukan pelanggan aktif. Alhamdulillah. Semoga bisa memberikan manfaat. 😇










