PREDIKSI KEBANGKRUTAN PERUSAHAAN MENGGUNAKAN ARTIFICIAL NEURAL NETWORK
Cynthia G.Y.P Matematika, Institut Teknologi Sepuluh Nopember, Surabaya, Indonesia
[email protected]
Abstrak Suatu perusahaan didirikan bukan untuk mengalami kebangkrutan, untuk itu diperlukan suatu alat yang dapat digunakan sebagai sistem peringatan dini. Oleh karena itu dalam paper ini mengangkat Masalah tentang bagaimana memprediksi kebangkrutan perusahaan yang disebabkan oleh kesulitan keuangan dengan menggunakan analisa data laporan keuangan selama beberapa periode tertentu yang nantinya terangkum dalam rasio keuangan perusahaan. Metode yang digunakan untuk mengolah data rasio keuangan sehingga nantinya dapat memprediksi keadaan perusahaan ke depan adalah Jaringan Syaraf Tiruan (Artificial Neural network) dengan menggunakan fungsi training algoritma Backpropagation. Dengan fungsi training tersebut nantinya didapatkan model perusahaan yang mengalami kebangkrutan dan yang tidak mengalami kebangkrutan sehingga model tersebut dapat digunakan untuk memprediksi kondisi perusahaan yang sejenis untuk beberapa periode ke depan. Dalam penerapannya terbukti algoritma Backpropagation mampu memprediksi kebangkrutan perusahaan akibat kesulitan keuangan dengan tingkat keakuratan mencapai lebih dari sama dengan 80%. Kata Kunci : Prediksi Kebangkrutan Perusahaan, Deteksi Kesulitan Keuangan, Jaringan Syaraf Tiruan, Algoritma Backpropagation, Financial Distress Detection
1. Pendahuluan
Kebangkrutan adalah kesulitan keuangan yang sangat parah sehingga perusahaan tidak mampu untuk menjalankan operasi perusahaan dengan baik. Sedangkan kesulitan keuangan (financial distress) adalah likuiditas yang mungkin sebagai awal kebangkrutan. Tentunya kesulitan keuangan di Indonesia baik dalam perusahaan skala kecil, menengah, ataupun besar menjadi momok bagi seluruh elemen baik itu pemilik perusahaan maupun karyawan yang bekerja di dalamnya. Sedangkan di Indonesia, studi tentang prediksi kebangkrutan akibat kesulitan keuangan masih jarang dilakukan, karena sulitnya mencari data keuangan perusahaan di Indonesia dan atau bangkrut yang dipublikasikan. Dimana ketika sebuah perusahaan itu bangkrut maka jumlah pengangguran di Indonesia akan semakin banyak, sehingga perekonomian di Indonesia tidak kunjung membaik. Dalam proses identifikasi dibutuhkan suatu metode untuk mempelajari model perusahaan yang mengalami kebangkrutan dan perusahaan yang tidak mengalami kebangkrutan, yaitu dengan jaringan syaraf tiruan sepervised learning (pembelajaran terawasi) sehingga dipilih metode
JST - Backpropagation. Jaringan Syaraf Tiruan (JST) merupakan salah satu sistem pemrosesan informasi yang didesain dengan menirukan cara kerja otak manusia dalam menyelesaikan suatu masalah dengan melakukan proses belajar melalui perubahan bobot sinapsisnya. Jaringan syaraf tiruan memiliki kemampuan untuk mempelajari dependensi secara langsung dari data historis tanpa perlu memilih model yang cocok sehingga dapat memberikan keputusan terhadap data yang belum pernah di pelajari. 2. Data dan Metode ANN-Backpropagation 2.1 Rasio Keuangan
Analisis laporan keuangan merupakan alat yang sangat penting untuk mengetahui posisi keuangan perusahaan serta hasil-hasil yang telah dicapai sehubungan dengan pemilihan strategi perusahaan yang telah dilaksanakan. Rasio keuangan dapat digunakan untuk membantu mengevaluasi laporan keuangan, yaitu untuk mengungkapkan kekuatan dan kelemahan relatif suatu perusahaan dibandingkan dengan perusahaan lain dalam 1
industri yang sama, dan untuk menunjukkan apakah posisi keuangan membaik atau memburuk selama suatu waktu. Rasio keuangan yang digunakan adalah rasio keuangan model altman yaitu : 1. X1 = Networking Capital to Total Assets, rasio ini menunjukkan kemampuan perusahaan untuk menghasilkan modal kerja bersih dari total aktiva yang dimilikinya. 2. X2 = Retained Earnings to Total Assets, rasio ini menunjukkan kemampuan perusahaan untuk menghasilkan laba ditahan dari total aktiva perusahaan. 3. X3 = Earning Before Interest and tax to Total Assest, Rasio ini menunjukkan kemampuan perusahaan untuk menghasilkan laba dari aktiva perusahaan sebelum pembayaran bunga dan pajak. 4. X4 = Market Value of Equity to Book Value of Debt, rasio ini menunjukkan kemampuan perusahaan untuk memenuhi kewajiban-kewajiban dari nilai pasar modal sendiri (saham biasa). Nilai pasar modal sendiri diperoleh dengan mengalikan jumlah lembar saham yang biasa beredar dengan harga pasar per-lembar saham biasa. 5. X5 = Sales to Total Assets, Rasio ini mencerminkan efisiensi manajemen dalam menggunakan keseluruhan aktiva perusahaan untuk menghasilkan penjualan dan mendapatkan laba. 2.2 Artificial Neural Network Jaringan Syaraf Tiruan (artificial neural network) atau disingkat JST adalah salah satu cabang dari ilmu kecerdasan buatan dan merupakan cara atau alat untuk memecahkan masalah di bidang-bidang pengelompokan dan pengenalan pola. Jaringan syaraf tiruan telah dikembangkan dengan menggunakan model matematis untuk menirukan cara kerja jaringan syaraf biologis, dengan berdasarkan asumsi-asumsi: 1. Pengolah informasi terdiri dari elemen-elemen sederhana yang disebut neuron. 2. Sinyal dilewatkan dari satu neuron ke neuron yang lain melalui suatu hubungan tertentu. 3. Tiap hubungan mempunyai ukuran tersendiri yang disebut bobot. 4. Tiap neuron mempergunakan fungsi aktivasi terhadap masukan yang diterimannya untuk menentukan sinyal keluaran.
Gambar 1. Struktur dasar jaringan syaraf
Gambar 2. struktur sederhana sebuah neuron Pada proses pembelajaran dalam JST terdapat 2 kategori yaitu : 1. Pembelajaran terawasi (Supervised Learning), yaitu jika keluaran yang diharapkan telah diketahui sebelumnya. Ada beberapa metode dalam proses belajar terawasi, diantaranya Delta Rule, Backpropagation atau Generalized Delta Rule dan Counterpropagation. 2. Pembelajaran tak terawasi (Unsupervised Learning), pada metode pembelajaran tak terawasi ini tidak memerlukan target keluaran. Pada metode ini, tidak dapat ditentukan seperti apakah hasil yang diharapkan selama proses pembelajaran. Metode yang dipakai dalam proses belajar tak terawasi ini antara lain Kohonen Self Organizing Maps. 2.3 Algoritma Backpropagation Training jaringan dengan backpropagation meliputi tiga tahap, yaitu: feedforward dari pola input training, perhitungan error propagasi balik ( backpropagation of error ) yang bersangkutan dan pembaharuan ( adjustment ) bobot dan bias. Setelah proses training, aplikasi jaringan hanya meliputi perhitungan feedforward. Meskipun proses training lambat, net yang dilatih dapat menghasilkan output sangat cepat. Variasi backpropagation telah banyak dikembangkan untuk meningkatkan kecepatan proses training. X1 X2
0
Bankrupt
X3 X4
Not bankrupt 1
X5 Gambar 3. Arsitektur layer JST – Backprpagation yang digunakan Algoritma JST Backpropagation yaitu : Step-0 Inisialisasi nilai bobot dengan nilai acak kecil
2
Step-1 Selama kondisi berhenti masih belum terpenuhi, kerjakan step 2 – 9 Step-2 Untuk setiap pasangan pelatihan (training) kerjakan step 3 – 8 Step-3 Setiap unit input (Xi, i=1,…,n) menerima sinyal input xi dan menyebarkan sinyal itu ke seluruh unit pada layer berikutnya (hidden layer) Step-4 Setiap unit dalam ( Zj, j=1,…,p ) hitung nilai input dengan menggunakan nilai bobotnya : n
z _ in j = υ0 j + ∑ xi υij i =1
Selanjutnya hitung nilai output dengan menggunakan fungsi aktivasi yang dipilih : zj = f ( z_inj ) Hasil fungsi tersebut dikirim ke semua unit pada layer berikutnya (unit output) Step-5 Untuk tiap unit output ( Yk, k=1,..,m ) hitung nilai input dengan menggunakan nilai bobot-nya :
w jk (new) = w jk (old ) + Δw jk Setiap unit hidden ( Zj, j=1,…,p ) update bias dan bobotnya ( i=0,…,n) :
υ ij (new) = υ ij (old ) + Δυ ij
Step-9 Uji apakah kondisi berhenti sudah dipenuhi? Fungsi aktivasi untuk jaringan backpropagation memiliki beberapa karakteristik yang penting. Fungsi aktivasi tersebut kontinu, dapat diturunkan dan tidak turun secara monoton. Untuk efesiensi perhitungan, turunan dari fungsi aktivasi tersebut juga mudah dihitung. Salah satu tipe fungsi aktivasi yang paling banyak digunakan adalah fungsi sigmoid biner, yang mempunyai interval (0 ,1) dan difenisikan sebagai berikut:
f1 (x ) =
1 1 + exp(− x )
Dan dengan dungsi turunan :
f1 ' ( x ) = f1 ( x )[1 − f 1 ( x )]
p
y _ ink = w0 k + ∑ z j w jk j =1
Kemudian hitung nilai output dengan menggunakan fungsi aktifasi :
y k = f ( y _ in k )
Step-6 Setiap unit output ( Yk, k=1,..,m ) menerima pola target yang bersesuaian dengan pola input dan kemudian hitung error informasi :
δ k = (t k − y k ) f ' ( y _ ink ) Kemudian hitung koreksi nilai bobot yang akan digunakan untuk memperbaharui nilai bobot wjk. :
Δw jk = αδ k z j
Hitung koreksi nilai bias yang akan digunakan untuk memperbaharui nilai w0k :
Δw0 k = αδ k
dan nilai δ k dikirim ke unit pada layer sebelumnya Step-7 Setiap unit dalam ( Zj, j=1,…,p ) hitung delta input yang berasal dari unit pada layer di atasnya : m
δ _ in j = ∑ δ k w jk k =1
Kemudian nilai tersebut dikalikan dengan nilai turunan dari fungsi aktivasi untuk menghitung error informasi :
δ j = δ _ in j f ' ( z _ in j ) Hitung koreksi nilai bobot yang kemudian digunakan untuk memperbaharui nilai υij :
Δυij = αδ j xi dan hitung nilai koreksi bias yang kemudian digunakan untuk memperbaharui υ oj :
Δυ oj = αδ j Step-8 Setiap unit output ( Yk, k=1,...,m ) update bias dan bobotnya ( j=0,…,p ) :
3. Analisis Perancangan dan Implementasi Sistem 3.1 Analisis Sistem Telah disinggung pada pembahasan sebelumnya bahwa perangkat lunak yang akan dibuat berkaitan dengan laporan keuangan sebuah perusahaan. Dimana nanti perangkat lunak yang akan dibuat memiliki fungsi untuk mendeteksi kebangkrutan perusahaan yang disebabkan oleh kesulitan keuangan (financial distress). Algoritma Backpropagation yang digunakan terdiri dari 3 proses utama yaitu proses feedforward, training backpropagation, dan update bobot. Arsitektur layer terdiri dari 5 input node, 5 jumlah node hidden, dan 1 output node. Setiap node input memiliki koneksi bobot pada masingmasing hidden layer yang ada dan setiap hidden layer memiliki koneksi bobot yang mengarah pada satu output node. 3.2 Perancangan Sistem Arsitektur layer yang akan digunakan adalah 3 layer network terdiri dari layer input, 1 hidden layer, dan layer output. Dimana Layer tersebut memiliki 5 input nodes yaitu : X1: Working capital/total assets X2: Retained earnings/total assets X3: Earnings before interest and taxes/total assets X4: Market value of equity/total debt X5: Sales/total assets Memiliki single output node berupa hasil akhir dalam menentukan peramalan untuk setiap kondisi perusahaan berdasarkan analisa rasio keuangannya. Untuk proses training data set terdiri dari 63
3
perusahaan dan untuk proses testing data set terdiri dari 13 Perusahaan. kekurangan dan kelebihan perangkat perangkat lunak tersebut ditinjau dari segi sistem yaitu, Kekurangan : masih kurang mendetail, hanya terdapat 2 output prediksi yaitu 0 dan 1 atau dengan kata lain bangkrut atau tidak bangkrut. Kelebihan : dapat memprediksi situasi perusahaan ke depan tergantung dari lamanya durasi laporan keuangan perusahaan yang diambil sampel, user friendly. 3.3 Implementasi Sistem Pada JST Backpropagation digunakan untuk aplikasi training meliputi inisialisasi bobot training, proses feedforward, update bobot, dan tes kondisi berhenti. Sebelum melakukan implementasi JST, diperlukan proses inisialisasi bobot dan parameter pelatihan yang akan digunakan acuan dalam penghitungan selanjutnya. Pada proses inisialisasi bobot awal, bobot yang digunakan adalah bobot secara acak antara 0 sampai 1. Hal ini terangkum dalam fungsi inisialisasi bobot awal. Setelah bobot awal di-inisialisasi, maka selanjutnya tahap implementasi algoritma JST Backpropagation dengan mengambil data rasio keuangan dari database yang telah ada. Kemudian dengan data tersebut diproses menggunakan bobot awal yang di-generate secara random selama jumlah epoch (satuan putaran training data) memenuhi untuk mendapatkan error yang stabil dan semakin kecil serta bobot baru yang nantinya digunakan pada proses testing data. Berdasarkan fungsinya data yang digunakan dalam program ini terdiri dari 2 jenis yaitu : 1. Data training, yaitu data yang digunakan untuk proses training algoritma JST – Backpropagation dan berfungsi untuk menciptakan model perusahaan yang didefinisikan oleh bobot yang nantinya terbentuk. 2. Data testing, yaitu data yang digunakan untuk mengecek kevalidan bobot baru yang telah dibentuk apakah telah mampu memprediksi kondisi perusahaan. Berdasarkan jenis perusahaannya data yang digunakan dalam program ini terdiri dari 2 jenis yaitu : 1. Data rasio keuangan perusahaan yang telah mengalami kebangkrutan, digunakan untuk mengetahui model perusahaan yang bangkrut. 2. Data rasio keuangan perusahaan yang tidak mengalami kebangkrutan, digunakan untuk mengetahui model perusahaan yang tidak bangkrut. 3.4 Mean Square Error(MSE) Nilai mean square error (MSE) pada satu siklus pelatihan (langkah 2 – 9, dimana seluruh rekord dipresentasikan satu kali) adalah nilai kesalahan error = nilai keluaran - nilai masukan) rata-rata dari seluruh
rekord (tupple) yang dipresentasikan ke JST dan dirumuskan sebagai:
MSE =
∑ error
2
Jumlah Re cord
Semakin kecil MSE, JST semakin kecil kesalahannya dalam memprediksi kelas dari rekord 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 (epsilon).
4. Uji Coba dan Pembahasan Proses testing dilakukan dengan menggunakan hasil pelatihan JST yang disimpan kedalam bentuk file (*.mdb) dengan beberapa inputan parameter seperti jumlah maksimal maksimal epoh dan nilai alpha. Untuk melakukan pengujian testing JST Backpropagation dataset yang dipersiapkan antara lain dengan 13 record data dan 5 field data. Dari hasil uji coba didapat data sebagai berikut : Variabel Alpha Epoch Data Training Data Testing
Jml 0,5 1000 62 13
Keterangan Jml Hasil Prediksi 13 sesuai Data Hasil Prediksi 13 sesuai Kenyataan
Tabel 1:Tabel hasil uji coba data testing metode JST-Backpropagation Hal ini disebabkan sedikitnya data training yang digunakan untuk mendapatkan model antara perusahaan yang mengalami kebangkrutan dan perusahaan yang tidak mengalami kebangkrutan sehingga pada uji coba data testing, algoritma dapat memprediksi semua kondisi perusahaan dengan benar.
5. Kesimpulan dan Saran Dari implementasi dan uji coba perangkat lunak deteksi kebangkrutan perusahaan menggunakan JST Backpropagation, dapat diperoleh kesimpulan sebagai berikut: 1. Proses training untuk mendapatkan bobot yang sesuai membutuhkan nilai alpha = 0,5 dan epoch = 1000, selain itu dapat juga menggunakan deltaMSE untuk mengetahui nilai error yang terjadi sehingga tingkat kevalidan program meningkat. 2. Grafik MSE pada program menggambarkan kestabilan error yang terjadi pada proses training, semakin kecil error yang terjadi maka grafik yang
4
ada akan cenderung membentuk garis lurus karena deltaMSE yang terjadi semakin kecil. 3. Awal kebangkrutan perusahaan disebabkan oleh kesulitan keuangan yang digambarkan pada program ini. Jadi dengan kelima rasio model altman tersebut telah dapat memprediksi kondisi perusahaan ke depan. 4. Rasio-rasio keuangan yang digunakan untuk proses prediksi kebangrutan perusahaan ini adalah : a. X1 = Networking Capital to Total Assets b. X2 = Retained Earnings to Total Assets c. X3 = Earnings Before Interest and tax to Total Assets d. X4 = Market Value of Equity to Book Value of Debt e. X5 = Sales to Total Assets Berdasarkan evaluasi yang dilakukan terhadap perangkat lunak, ada beberapa saran yang perlu dipertimbangkan dalam pengembangan tugas akhir ini, antara lain sebagai berikut: 1. Aplikasi ini baru dapat mengenali pola kebangkrutan perusahaan berdasarkan kesulitan keuangan yang terjadi (digambarkan dalam nilai rasio keuangan perusahaan), jadi belum ada parameter lain untuk menentukan kebangkrutan perusahaan, sehingga kedepannya dapat dikembangkan dengan menggunakan analisa sistem dan pasar. 2. Program masih mengeluarkan dua output eksak yaitu 0 dan 1 untuk menggambarkan kondisi perusahaan sehingga kedepannya dapat dikembangkan denan menggunakan hybrid backpro-fuzzy untuk pengelompokan kondisi perusahaan yang lebih mendetail. 3. Program masih belum bisa menganalisa kebangkrutan secara detail sehingga belum bisa memberikan solusi terhadap kondisi perusahaan yang ada saat ini.
Journal of Computational Intelligence Research , X, pp. 60-65. [6] Trippi, Robert R. (1996). “Neural Network in Finance and Investing”. Revised Edition. United States of America:McGraw-Hill company. [7] Yu-Chiang Hu. (2006). “Developing Financial Distress Prediction Models”, A study of US, Europe, and Japan Retail Performance. University of Edinburgh, UK.
6. Daftar Pustaka [1] Back, Babro. (1995). ”Intelligent Information System within Bussiness : Bankruptcy Predictions using Neural Networks”, Proceedings of the 3rd Europian Conference on Information System. Athens,Greece. [2] Hendratto, Djoko. (2005). “Studi Tentang Analisis Laporan Keuangan Secara Elektronik”. Jakarta:Departemen Keuangan Republik Indonesia. [3] Hin, Kyung-shik. (2000). “Neuro-genetic Approach for Bankruptcy Prediction:A Comparison to Back-propagation Algorithms”, Graduate School Management. Korea Advanced Institute of Science and Technology. [4] Kumar, Kuldeep. (2004). “Artificial Intelligence in Financial Distress Prediction”, School of Information Technology, Faculty of Business Bond University. Australia [5] Mukamala, S. (2006). “Computational Intelligent Techniques for Financial Distress Detection”,
5