PERBANDINGAN WAKTU EKSEKUSI METODE STEEPEST … · Pengoptimuman bertujuan mencari nilai minimum...

44
PERBANDINGAN WAKTU EKSEKUSI METODE STEEPEST DESCENT DAN METODE BARZILAI-BORWEIN MENGGUNAKAN PERANGKAT LUNAK MATLAB KIKI SEPTIANI DEPARTEMEN MATEMATIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR BOGOR 2015

Transcript of PERBANDINGAN WAKTU EKSEKUSI METODE STEEPEST … · Pengoptimuman bertujuan mencari nilai minimum...

Page 1: PERBANDINGAN WAKTU EKSEKUSI METODE STEEPEST … · Pengoptimuman bertujuan mencari nilai minimum atau maksimum dari suatu fungsi bernilai real. Secara umum, ada dua jenis pengoptimuman

PERBANDINGAN WAKTU EKSEKUSI METODE STEEPEST

DESCENT DAN METODE BARZILAI-BORWEIN

MENGGUNAKAN PERANGKAT LUNAK

MATLAB

KIKI SEPTIANI

DEPARTEMEN MATEMATIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

INSTITUT PERTANIAN BOGOR

BOGOR

2015

Page 2: PERBANDINGAN WAKTU EKSEKUSI METODE STEEPEST … · Pengoptimuman bertujuan mencari nilai minimum atau maksimum dari suatu fungsi bernilai real. Secara umum, ada dua jenis pengoptimuman
Page 3: PERBANDINGAN WAKTU EKSEKUSI METODE STEEPEST … · Pengoptimuman bertujuan mencari nilai minimum atau maksimum dari suatu fungsi bernilai real. Secara umum, ada dua jenis pengoptimuman

PERNYATAAN MENGENAI SKRIPSI DAN

SUMBER INFORMASI SERTA PELIMPAHAN HAK CIPTA

Dengan ini saya menyatakan bahwa skripsi berjudul Perbandingan Waktu

Eksekusi Metode Steepest Descent dan Metode Barzilai-Borwein Menggunakan

Perangkat Lunak MATLAB adalah benar karya saya dengan arahan dari komisi

pembimbing dan belum diajukan dalam bentuk apa pun kepada perguruan tinggi

mana pun. Sumber informasi yang berasal atau dikutip dari karya yang diterbitkan

maupun tidak diterbitkan dari penulis lain telah disebutkan dalam teks dan

dicantumkan dalam Daftar Pustaka di bagian akhir skripsi ini.

Dengan ini saya melimpahkan hak cipta dari karya tulis saya kepada Institut

Pertanian Bogor.

Bogor, Januari 2015

Kiki Septiani NIM G54100017

Page 4: PERBANDINGAN WAKTU EKSEKUSI METODE STEEPEST … · Pengoptimuman bertujuan mencari nilai minimum atau maksimum dari suatu fungsi bernilai real. Secara umum, ada dua jenis pengoptimuman

ABSTRAK

KIKI SEPTIANI. Perbandingan Waktu Eksekusi Metode Steepest Descent dan

Metode Barzilai-Borwein Menggunakan Perangkat Lunak MATLAB. Dibimbing

oleh BIB PARUHUM SILALAHI dan MUHAMMAD ILYAS.

Pengoptimuman adalah ilmu yang berhubungan dengan mencari nilai

maksimum dan minimum. Suatu masalah pengoptimuman terdiri dari masalah

pengoptimuman tak berkendala dan pengoptimuman berkendala. Selama lebih

dari empat puluh tahun telah banyak algoritme pencarian langsung untuk masalah

pengoptimuman tanpa kendala yang dikembangkan, antara lain adalah metode

steepest descent dan metode Barzilai-Borwein. Untuk beberapa kasus,

kekonvergenan dari metode steepest descent ke solusi optimal membutuhkan

waktu panjang. Hal ini terjadi karena jalur zig-zag dalam menuju solusi optimal.

Barzilai dan Borwein memperkenalkan dua stepsize yang menjamin konvergensi

yang lebih cepat. Penelitian ini mengonstruksi metode steepest descent dan

metode Barzilai-Borwein kemudian melakukan perbandingan waktu eksekusi

antara kedua metode tersebut dengan menggunakan perangkat lunak MATLAB.

Dalam penelitian ini diperoleh kesimpulan bahwa waktu eksekusi metode

Barzilai-Borwein lebih cepat dibandingkan dengan metode steepest descent.

Kata kunci: MATLAB, Metode Barzilai-Borwein, Metode Steepest Descent,

Pengoptimuman

ABSTRACT

KIKI SEPTIANI. Execution Time Comparison between the Steepest Descent and

Barzilai-Borwein Methods by Using MATLAB. Supervised by BIB PARUHUM

SILALAHI and MUHAMMAD ILYAS.

Optimization is a knowledge associated with problems of the maximum and

minimum determination. The optimization problems consist of the problems

without constraint and with constraint. In the last forty years time, many direct

search algorithms for optimization problems without constraint have been

developed, including the steepest descent method and the Barzilai-Borwein

method. In some cases, the convergence of the steepest descent method requires a

longer time to reach the optimal solution. This is due to the zig-zag path

undertaken. Barzilai and Borwein introduce two stepsize that guarantees to obtain

a convergent solution. This research reconstructs the steepest descent and the

Barzilai-Borwein methods and then the execution time required between the both

methods were compared using MATLAB. Based on the experiments obtained, the

Barzilai-Borwein method reached its convergence value faster than the steepest

descent method.

Keywords: Barzilai-Borwein Method, MATLAB, Optimization, Steepest Descent

Method

Page 5: PERBANDINGAN WAKTU EKSEKUSI METODE STEEPEST … · Pengoptimuman bertujuan mencari nilai minimum atau maksimum dari suatu fungsi bernilai real. Secara umum, ada dua jenis pengoptimuman

Skripsi

sebagai salah satu syarat untuk memperoleh gelar

Sarjana Sains

pada

Departemen Matematika

KIKI SEPTIANI

PERBANDINGAN WAKTU EKSEKUSI METODE STEEPEST

DESCENT DAN METODE BARZILAI-BORWEIN

MENGGUNAKAN PERANGKAT LUNAK

MATLAB

DEPARTEMEN MATEMATIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

INSTITUT PERTANIAN BOGOR

BOGOR

2015

Page 6: PERBANDINGAN WAKTU EKSEKUSI METODE STEEPEST … · Pengoptimuman bertujuan mencari nilai minimum atau maksimum dari suatu fungsi bernilai real. Secara umum, ada dua jenis pengoptimuman
Page 7: PERBANDINGAN WAKTU EKSEKUSI METODE STEEPEST … · Pengoptimuman bertujuan mencari nilai minimum atau maksimum dari suatu fungsi bernilai real. Secara umum, ada dua jenis pengoptimuman
Page 8: PERBANDINGAN WAKTU EKSEKUSI METODE STEEPEST … · Pengoptimuman bertujuan mencari nilai minimum atau maksimum dari suatu fungsi bernilai real. Secara umum, ada dua jenis pengoptimuman

PRAKATA

Puji dan syukur saya panjatkan kepada Allah subhanahu wa ta’ala atas

segala nikmat, rahmat, karunia dan pertolongan yang telah diberikan sehingga

karya ilmiah ini berhasil diselesaikan. Judul karya ilmiah ini adalah Perbandingan

Waktu Eksekusi Metode Steepest Descent dan Metode Barzilai-Borwein

Menggunakan Perangkat Lunak MATLAB.

Terima kasih saya ucapkan kepada keluarga tercinta Ayahanda Rusdi,

Ibunda Dini, dan ketiga adik saya Yonanda, Elsa, dan Didi atas segala doa dan

dukungan selama menulis karya ilmiah ini. Ungkapan terima kasih juga saya

sampaikan kepada Bapak Dr Ir Bib Paruhum Silalahi, MKom dan Bapak

Muhammad Ilyas, MSi, MSc selaku dosen pembimbing yang telah banyak

memberi saran, kesabaran dan ilmu, serta Ibu Dra Farida Hanum, MSi selaku

dosen penguji. Tidak lupa penulis mengucapkan terima kasih untuk para sahabat

Mira Aisyah Romliyah, Leny Yustie Widiasari, Aisatul Mustaqimah, Erjodi

Cahyo, Fachriadi Fadhillah, Lola Oktasari, Novia Yuliani, Ervina Marviana,

teman-teman seperjuangan Matematika 47, dan kakak- kakak Matematika 46 atas

bantuan dan dukungannya serta teman-teman sekalian di luar Departemen

Matematika IPB.

Semoga karya ilmiah ini bermanfaat.

Bogor, Januari 2015

Kiki Septiani

Page 9: PERBANDINGAN WAKTU EKSEKUSI METODE STEEPEST … · Pengoptimuman bertujuan mencari nilai minimum atau maksimum dari suatu fungsi bernilai real. Secara umum, ada dua jenis pengoptimuman

DAFTAR ISI

DAFTAR TABEL vi

DAFTAR GAMBAR vi

DAFTAR LAMPIRAN vi

PENDAHULUAN 1

Latar Belakang 1

Tujuan Penelitian 1

TINJAUAN PUSTAKA 2

HASIL DAN PEMBAHASAN 4

Metode Steepest Descent 4

Metode Barzilai-Borwein 6

Ilustrasi Metode Steepest Descent dan Metode Barzilai-Borwein 8

Hasil Komputasi Metode Steepest Descent dan Metode Barzilai-Borwein 11

SIMPULAN DAN SARAN 15

Simpulan 15

Saran 15

DAFTAR PUSTAKA 16

LAMPIRAN 17

RIWAYAT HIDUP 32

Page 10: PERBANDINGAN WAKTU EKSEKUSI METODE STEEPEST … · Pengoptimuman bertujuan mencari nilai minimum atau maksimum dari suatu fungsi bernilai real. Secara umum, ada dua jenis pengoptimuman

DAFTAR TABEL

1 Analisis perbedaan banyak iterasi dan waktu eksekusi (dalam second)

metode steepest descent dan metode Barzilai-Borwein untuk fungsi dua

variabel dengan lima kali pengulangan 11 2 Analisis perbedaan banyak iterasi dan waktu eksekusi (dalam second)

metode steepest descent dan metode Barzilai-Borwein untuk fungsi tiga

variabel dengan tiga kali pengulangan 11

3 Analisis perbedaan banyak iterasi dan waktu eksekusi (dalam second)

metode steepest descent dan metode Barzilai-Borwein untuk fungsi

empat variabel dengan tiga kali pengulangan 12 4 Analisis perbedaan banyak iterasi dan waktu eksekusi (dalam second)

metode steepest descent dan metode Barzilai-Borwein untuk fungsi

lima variabel dengan tiga kali pengulangan 12

5 Analisis perbedaan banyak iterasi dan waktu eksekusi (dalam second)

metode steepest descent dan metode Barzilai-Borwein untuk fungsi

sepuluh variabel dengan lima kali pengulangan 12 6 Perbedaan iterasi rata-rata metode steepest descent dan metode

Barzilai-Borwein 13 7 Perbedaan waktu eksekusi (dalam second) rata-rata metode steepest

descent dan metode Barzilai-Borwein 13

DAFTAR GAMBAR

1 Hasil metode steepest descent 9 2 Hasil metode steepset descent yang diperbesar 9

3 Hasil metode Barzilai-Borwein 1 10 4 Hasil metode Barzilai-Borwein 2 10

5 Iterasi rata-rata metode steepest descent dan metode Barzilai-Borwein 14 6 Waktu eksekusi rata-rata metode steepest descent dan metode Barzilai-

Borwein 14

DAFTAR LAMPIRAN

1 Sintaks metode steepest descent percobaan ke-1 Tabel 1 untuk fungsi

dengan dua variabel 17

2 Sintaks metode Barzilai-Borwein 1 percobaan ke-1 Tabel 1 untuk

fungsi dengan dua variabel 18

3 Sintaks metode Barzilai-Borwein 2 percobaan ke-1 Tabel 1 untuk

fungsi dengan dua variabel 19

4 Sintaks metode steepest descent percobaan ke-1 Tabel 2 untuk fungsi

dengan tiga variabel 20

5 Sintaks metode Barzilai-Borwein 1 percobaan ke-1 Tabel 2 untuk

fungsi dengan tiga variabel 21

6 Sintaks metode Barzilai-Borwein 2 percobaan ke-1 Tabel 2 untuk

fungsi dengan tiga variabel 22

Page 11: PERBANDINGAN WAKTU EKSEKUSI METODE STEEPEST … · Pengoptimuman bertujuan mencari nilai minimum atau maksimum dari suatu fungsi bernilai real. Secara umum, ada dua jenis pengoptimuman

7 Sintaks metode steepest descent percobaan ke-1 Tabel 3 untuk fungsi

dengan empat variabel 23 8 Sintaks metode Barzilai-Borwein 1 percobaan ke-1 Tabel 3 untuk

fungsi dengan empat variabel 24 9 Sintaks metode Barzilai-Borwein 2 percobaan ke-1 Tabel 3 untuk

fungsi dengan empat variabel 25 10 Sintaks metode steepest descent percobaan ke-1 Tabel 4 untuk fungsi

dengan lima variabel 26 11 Sintaks metode Barzilai-Borwein 1 percobaan ke-1 Tabel 4 untuk

fungsi dengan lima variabel 27 12 Sintaks metode Barzilai-Borwein 2 percobaan ke-1 Tabel 4 untuk

fungsi dengan lima variabel 28 13 Sintaks metode steepest descent percobaan ke-1 Tabel 5 untuk fungsi

dengan sepuluh variabel 29 14 Sintaks metode Barzilai-Borwein 1 percobaan ke-1 Tabel 5 untuk

fungsi dengan sepuluh variabel 30 15 Sintaks metode Barzilai-Borwein 2 percobaan ke-1 Tabel 5 untuk

fungsi dengan sepuluh variabel 31

Page 12: PERBANDINGAN WAKTU EKSEKUSI METODE STEEPEST … · Pengoptimuman bertujuan mencari nilai minimum atau maksimum dari suatu fungsi bernilai real. Secara umum, ada dua jenis pengoptimuman
Page 13: PERBANDINGAN WAKTU EKSEKUSI METODE STEEPEST … · Pengoptimuman bertujuan mencari nilai minimum atau maksimum dari suatu fungsi bernilai real. Secara umum, ada dua jenis pengoptimuman

PENDAHULUAN

Latar Belakang

Pengoptimuman bertujuan mencari nilai minimum atau maksimum dari

suatu fungsi bernilai real. Secara umum, ada dua jenis pengoptimuman yang

sering dihadapi, yaitu pengoptimuman linear dan pengoptimuman taklinear.

Masalah pengoptimuman terdiri dari fungsi tujuan dan kendala, jika kendalanya

tidak ada maka masalah pengoptimuman tersebut dinamakan masalah

pengoptimuman tak berkendala sebaliknya jika kendalanya ada maka masalah

pengoptimuman tersebut dinamakan pengoptimuman berkendala. Masalah

pengoptimuman tak berkendala satu variabel dapat diselesaikan dengan

menggunakan kalkulus. Selama lebih dari empat puluh tahun telah banyak

algoritme pencarian langsung (direct search) untuk masalah pengoptimuman tak

berkendala yang dikembangkan. Algoritme-algoritme ini memerlukan titik awal

(dinyatakan dengan ) untuk memulai proses pencarian solusi optimal langsung

dari titik menuju dan seterusnya. Proses akan berhenti jika tidak

diperoleh titik yang lebih baik (lebih kecil nilai fungsinya, untuk masalah

peminimuman) atau jika diperoleh titik sehingga , atau dengan

kriteria pemberhentian lainnya. Beberapa metode pencarian langsung untuk

meminimumkan fungsi banyak variabel, yaitu metode golden section, metode

Newton, dan algoritme interpolasi kuadratik Powell.

Metode steepest descent merupakan salah satu metode klasik untuk

menyelesaikan masalah pengoptimuman tak berkendala fungsi banyak variabel.

Untuk beberapa kasus kekonvergenan dari metode steepest descent menuju ke

solusi optimal lambat, hal ini terjadi karena jalur zig-zag dalam menuju solusi

optimal (Sun dan Yuan 2006).

Barzilai dan Borwein memperkenalkan dua stepsize yang menjamin

konvergensi yang lebih baik. Metode Barzilai-Borwein bertujuan mempercepat

konvergensi metode steepest descent (Barzilai dan Borwein 1988). Dalam karya

ilmiah ini dibahas perbandingan waktu eksekusi dan banyaknya iterasi antara

metode steepest descent dan metode Barzilai-Borwein dengan menggunakan

perangkat lunak MATLAB.

Tujuan Penelitian

Karya ilmiah ini disusun dengan tujuan melakukan perbandingan waktu

eksekusi antara metode steepest descent dan metode Barzilai-Borwein dengan

menggunakan perangkat lunak MATLAB.

Page 14: PERBANDINGAN WAKTU EKSEKUSI METODE STEEPEST … · Pengoptimuman bertujuan mencari nilai minimum atau maksimum dari suatu fungsi bernilai real. Secara umum, ada dua jenis pengoptimuman

2

TINJAUAN PUSTAKA

Fungsi Kuadratik

Suatu fungsi dinamakan fungsi kuadratik dalam variabel jika dapat

dituliskan sebagai:

,

dengan , dan vektor real berukuran , dan matriks real berukuran

(Luenberger dan Ye 2008).

Matriks Simetrik

Suatu matriks berorde disebut matriks simetrik jika ,

atau . Matriks diagonal merupakan matriks simetrik. Contoh:

(Leon 2001).

Definit Positif

Misalkan matriks berukuran dan misalkan adalah

bentuk kuadratik yang berpadanan dengan , maka dikatakan definit positif

jika untuk setiap (Luenberger dan Ye 2008).

Metode Interpolasi Kuadrat dengan Dua Titik

Metode interpolasi kuadrat dengan dua titik adalah metode untuk

menentukan hampiran titik minimum suatu fungsi kuadrat dengan menggunakan

dua titik. Misalkan diberikan dua titik dan nilai fungsinya (atau

), dan dua nilai turunan dan . Polinomial yang digunakan

untuk proses interpolasi adalah . Dengan memasukkan dua

titik tersebut ke dalam fungsi diperoleh sistem persamaan linear:

sehingga diperoleh:

=

Oleh karena itu, didapatkan pola iterasi:

Page 15: PERBANDINGAN WAKTU EKSEKUSI METODE STEEPEST … · Pengoptimuman bertujuan mencari nilai minimum atau maksimum dari suatu fungsi bernilai real. Secara umum, ada dua jenis pengoptimuman

3

(Sun dan Yuan 2006).

Metode Newton

Metode Newton adalah salah satu prosedur iteratif untuk menyelesaikan

masalah taklinear. Misalkan persamaan adalah persamaan taklinear

dengan merupakan penyelesaian dari persamaan tersebut. Fungsi adalah

fungsi yang kontinu dan terturunkan. Pada solusi eksak , nilai fungsi dapat

dinyatakan sebagai dan nilai dari fungsi turunan pertama adalah .

Nilai adalah solusi yang diperoleh pada iterasi ke- . Misalkan ,

dapat diartikan sebagai laju perubahan terhadap . Andaikan berubah dari

ke maka perubahan pada adalah . Perubahan ini

diperlukan untuk mengubah nilai fungsi menuju nol. Selanjutnya, metode

Newton dapat diturunkan dari ekspansi deret Taylor orde pertama dari di

sekitar , sebagai berikut:

.

Tetapkan pendekatan sehingga didapat:

Barisan Newton yang diperoleh adalah:

dengan menyatakan nilai yang diperoleh pada iterasi ke- . Jika titik awal

cukup dekat dengan maka nilai dari akan mendekati dengan

(Jensen & Bard 2003).

Metode Least Square (LS)

Misalkan

memiliki solusi dan dari data

pengamatan diperoleh suatu model dengan

untuk maka dapat diduga dengan cara berikut:

(Draper dan Smith 1992).

Page 16: PERBANDINGAN WAKTU EKSEKUSI METODE STEEPEST … · Pengoptimuman bertujuan mencari nilai minimum atau maksimum dari suatu fungsi bernilai real. Secara umum, ada dua jenis pengoptimuman

4

Hasil Kali Skalar di dalam

Vektor-vektor di dalam dapat digambarkan dengan segmen-segmen

garis berarah. Jika diberikan sebuah vektor di , maka panjang Euclidenya

dapat didefinisikan dalam bentuk hasil kali skalar:

jika (Leon 2001).

HASIL DAN PEMBAHASAN

Metode Steepest Descent

Metode line search descent yang menggunakan vektor gradien (turunan parsial orde pertama dari fungsi ) untuk menentukan arah pencarian di

setiap iterasi, dinamakan metode line search descent orde pertama. Metode

terkenal yang banyak digunakan adalah metode steepest descent yang pertama

kali diperkenalkan oleh Cauchy pada tahun 1847.

Metode steepest descent adalah salah satu metode yang tertua dan paling

banyak dikenal untuk meminimalkan fungsi dari beberapa variabel. Metode

steepest descent sangat penting karena metode ini merupakan salah satu dari yang

paling sederhana dan metode peminimuman yang paling mendasar untuk

pengoptimuman tanpa kendala (sering disebut sebagai metode gradien). Metode

steepest descent merupakan metode iteratif untuk memperoleh solusi pendekatan

dari masalah awal. Algoritme yang lebih maju sering termotivasi oleh upaya

untuk memodifikasi teknik dasar steepest descent sehingga algoritme baru akan

memiliki sifat konvergensi yang unggul. Teknik ini tidak hanya paling sering

digunakan dalam penyelesaian masalah baru, tetapi juga standar acuan terhadap

teknik lain yang diukur. Metode steepest descent selalu konvergen. Artinya,

secara teori metode ini tidak akan berhenti atau akan terus melakukan iterasi

sampai kriteria penghentian terpenuhi (Luenberger dan Ye 2008). Pencarian arah

adalah hal yang penting dalam metode steepest descent, dan pencarian ini yang

membedakan antara algoritme yang satu dengan yang lainnya. Begitu pencarian

arah telah ditentukan maka tahap selanjutnya adalah pencarian stepsize (line

search, step search).

Masalah model kuadrat dinyatakan sebagai berikut:

(1)

dengan adalah symmetric positive definite (SPD) dan . Masalah

ini setara dengan memecahkan sistem linear:

.

Page 17: PERBANDINGAN WAKTU EKSEKUSI METODE STEEPEST … · Pengoptimuman bertujuan mencari nilai minimum atau maksimum dari suatu fungsi bernilai real. Secara umum, ada dua jenis pengoptimuman

5

Karena diandaikan adalah definit positif, masalah (1) memiliki solusi

yang unik yang diberikan oleh . Metode steepest descent yang dikenal

juga dengan metode gradien adalah metode yang mencari penurunan tercepat dari:

,

yang terjadi pada:

dan

Berikut bentuk iterasi gradien:

(2)

Untuk beberapa kasus, kekonvergenan dari metode steepest descent ke

solusi optimal lambat, hal ini karena jalur zig-zag dalam menuju solusi optimal.

Secara intuitif arah adalah arah dengan penurunan tercepat, tetapi secara

global tidak berarti menuju titik minimum lokal yang tercepat.

Untuk mencari minimum dari , diperoleh:

.

Ini berarti gradien dari titik awal menuju titik selanjutnya saling tegak lurus

(ortogonal) pada metode steepest descent. Dari persamaan (2) didapat pilihan

stepsize optimal sebagai berikut:

dengan

Page 18: PERBANDINGAN WAKTU EKSEKUSI METODE STEEPEST … · Pengoptimuman bertujuan mencari nilai minimum atau maksimum dari suatu fungsi bernilai real. Secara umum, ada dua jenis pengoptimuman

6

Berikut ini diberikan algoritme metode steepest descent:

Langkah 1 Batas toleransi . Diberikan titik awal dengan

.

Langkah 2 Arah pencarian . Langkah 3 Tentukan stepsize yang meminimumkan sehingga

Langkah 4 Tentukan .

Langkah 5 Jika stop.

Langkah 6 Selanjutnya kembali ke langkah 2.

(Sun dan Yuan 2006).

Metode Barzilai-Borwein

Barzilai dan Borwein memperkenalkan metode gradien two-point stepsize

yang biasanya disebut metode gradien Barzilai-Borwein (atau BB) untuk

memecahkan masalah peminimuman fungsi tak berkendala (Barzilai dan Borwein

1988).

Berikut bentuk iterasi gradien:

(3)

Pada awalnya digunakan metode Newton untuk memecahkan suatu

persamaan nonlinear , dengan pendekatan yang berasal dari

(juga dikenal sebagai metode sekan) dengan iterasi sebagai berikut:

(4)

dengan dan misalkan:

(5)

Dapat dilihat hubungan antara persamaan (3) dan persamaan (4) untuk

menyelesaikan persamaan , . Dalam kasus dimensi

lebih tinggi, yaitu koefisien akan dievaluasi

menggunakan persamaan (5).

Untuk menentukan stepsize metode Barzilai-Borwein 1, perhatikan

persamaan berikut:

. (6)

Page 19: PERBANDINGAN WAKTU EKSEKUSI METODE STEEPEST … · Pengoptimuman bertujuan mencari nilai minimum atau maksimum dari suatu fungsi bernilai real. Secara umum, ada dua jenis pengoptimuman

7

Selanjutnya persamaan (6) diselesaikan dengan metode least-square, dengan

, sehingga diperoleh:

.

Dengan menggunakan syarat perlu minimum bahwa turunan pertama sama

dengan nol, sehingga diperoleh:

Untuk menentukan stepsize metode Barzilai-Borwein 2, perhatikan

persamaan berikut:

(7)

Selanjutnya persamaan (7) diselesaikan dengan metode least-square, dengan

, sehingga diperoleh:

Page 20: PERBANDINGAN WAKTU EKSEKUSI METODE STEEPEST … · Pengoptimuman bertujuan mencari nilai minimum atau maksimum dari suatu fungsi bernilai real. Secara umum, ada dua jenis pengoptimuman

8

.

Dengan menggunakan syarat perlu minimum bahwa turunan pertama sama

dengan nol, sehingga diperoleh:

Berikut ini diberikan algoritme metode gradien Barzilai-Borwein:

Langkah 1 Diberikan titik awal , batas toleransi , dengan

.

Langkah 2 Arah pencarian . Langkah 3 Jika , tentukan dengan pencarian garis untuk ,

hitung dengan

(untuk metode Barzilai-Borwein 1) atau

(untuk metode Barzilai-Borwein 2).

Langkah 4 Tentukan .

Langkah 5 Jika , stop.

Langkah 6 Selanjutnya , kembali ke langkah 2.

(Sun dan Yuan 2006).

Ilustrasi Metode Steepest Descent dan Metode Barzilai-Borwein

Ilustrasi 1 Dengan menggunakan metode steepest descent, min

dengan titik awal .

Berikut adalah solusi dari metode steepest descent untuk ilustrasi 1:

Page 21: PERBANDINGAN WAKTU EKSEKUSI METODE STEEPEST … · Pengoptimuman bertujuan mencari nilai minimum atau maksimum dari suatu fungsi bernilai real. Secara umum, ada dua jenis pengoptimuman

9

Gambar 1 Hasil metode steepest descent

Gambar 2 Hasil metode steepest descent yang diperbesar

Gambar 1 dan Gambar 2 menunjukkan bahwa dalam menuju solusi optimal,

metode steepest descent mengambil arah zig-zag dan tegak lurus (ortogonal)

seperti yang telah dijelaskan pada subbab metode steepest descent.

Ilustrasi 2 Dengan menggunakan metode Barzilai-Borwein 1,

dengan titik awal dan arah:

Page 22: PERBANDINGAN WAKTU EKSEKUSI METODE STEEPEST … · Pengoptimuman bertujuan mencari nilai minimum atau maksimum dari suatu fungsi bernilai real. Secara umum, ada dua jenis pengoptimuman

10

Berikut adalah solusi dari metode Barzilai-Borwein 1 untuk ilustrasi 2:

Gambar 3 Hasil metode Barzilai-Borwein 1

Ilustrasi 3 Dengan menggunakan metode Barzilai-Borwein 2, min

dengan titik awal dan arah:

Berikut adalah solusi dari metode Barzilai-Borwein 2 untuk ilustrasi 3:

Gambar 4 Hasil metode Barzilai-Borwein 2

Metode Barzilai-Borwein sebenarnya mirip dengan metode gradien, lebih

cepat konvergen sehingga membutuhkan sedikit pekerjaan komputasi. Berbeda

dengan metode steepest descent, metode Barzilai-Borwein dalam menuju solusi

optimal gradien dari titik awal menuju titik selanjutnya tidak saling tegak lurus

(ortogonal).

Page 23: PERBANDINGAN WAKTU EKSEKUSI METODE STEEPEST … · Pengoptimuman bertujuan mencari nilai minimum atau maksimum dari suatu fungsi bernilai real. Secara umum, ada dua jenis pengoptimuman

11

Hasil Komputasi Metode Steepest Descent dan Metode Barzilai-Borwein

Fungsi yang digunakan dibangkitkan secara acak dengan ketentuan sebagai

berikut:

.

dengan matriks simetrik berukuran . Banyak variabel yang digunakan

yaitu . Setiap komponen vektor ( ) dipilih

secara acak dengan . Untuk semua kasus diberikan titik awal adalah

vektor nol dan kriteria penghentian adalah .

Perbedaan waktu eksekusi antara metode steepest descent dan metode

Barzilai-Borwein dapat dilihat pada Tabel 1 untuk fungsi dengan dua variabel,

Tabel 2 untuk fungsi dengan tiga variabel, Tabel 3 untuk fungsi dengan empat

variabel, Tabel 4 untuk fungsi dengan lima variabel, dan Tabel 5 untuk fungsi

dengan sepuluh variabel.

Tabel 1 Analisis perbedaan banyak iterasi dan waktu eksekusi (dalam second)

metode steepest descent dan metode Barzilai-Borwein untuk fungsi dua variabel dengan lima kali pengulangan

Percobaan

Metode Steepest

Descent

Metode Barzilai-

Borwein 1

Metode Barzilai-

Borwein 2

Iterasi Waktu (s) Iterasi Waktu (s) Iterasi Waktu (s)

I 46 22.818351 12 1.723524 11 1.617948

II 23 14.314749 8 1.394232 5 1.121589

III 7 4.408219 4 0.970558 5 1.084019

IV 10 6.706132 9 1.510808 6 1.204922

V 5 3.055573 5 1.070897 3 0.848222

Rata-rata 18.2 10.260604 7.6 1.334004 6 1.175340

Tabel 2 Analisis perbedaan banyak iterasi dan waktu eksekusi (dalam second)

metode steepest descent dan metode Barzilai-Borwein untuk fungsi tiga

variabel dengan lima kali pengulangan

Percobaan

Metode Steepest

Descent

Metode Barzilai-

Borwein 1

Metode Barzilai-

Borwein 2

Iterasi Waktu (s) Iterasi Waktu (s) Iterasi Waktu (s)

I 177 135.238922 53 10.028849 22 4.410716

II 40 30.059106 18 3.759644 19 3.904859

III 80 57.168624 22 4.444450 16 3.356958

IV 127 89.093572 20 4.142495 17 3.615938

V 111 80.613021 22 4.485561 14 3.105823

Rata-rata 107 78.434649 27 5.372200 17.6 3.678863

Page 24: PERBANDINGAN WAKTU EKSEKUSI METODE STEEPEST … · Pengoptimuman bertujuan mencari nilai minimum atau maksimum dari suatu fungsi bernilai real. Secara umum, ada dua jenis pengoptimuman

12

Tabel 3 Analisis perbedaan banyak iterasi dan waktu eksekusi (dalam second)

metode steepest descent dan metode Barzilai-Borwein untuk fungsi empat variabel dengan lima kali pengulangan

Percobaan

Metode Steepest

Descent

Metode Barzilai-

Borwein 1

Metode Barzilai-

Borwein 2

Iterasi Waktu (s) Iterasi Waktu (s) Iterasi Waktu (s)

I 143 123.741029 69 16.675415 60 14.180025

II 138 124.063215 36 9.484181 38 9.644030

III 1605 1509.049946 57 14.240666 120 28.076128

IV 153 175.922478 54 13.315565 37 9.364491

V 273 244.828021 54 13.637498 35 9.166513

Rata-rata 462.4 435.520938 54 13.470665 58 14.086237

Tabel 4 Analisis perbedaan banyak iterasi dan waktu eksekusi (dalam second)

metode steepest descent dan metode Barzilai-Borwein untuk fungsi lima variabel dengan lima kali pengulangan

Percobaan

Metode Steepest

Descent

Metode Barzilai-

Borwein 1

Metode Barzilai-

Borwein 2

Iterasi Waktu (s) Iterasi Waktu (s) Iterasi Waktu (s)

I 285 311.986878 64 20.818828 60 20.080747

II 2108 1252.283148 101 31.631661 370 116.418413

III 417 467.571587 72 23.047997 60 19.022880

IV 615 680.929252 92 28.890522 82 25.553457 V 122 139.450137 42 14.685559 37 12.795110

Rata-rata 709.4 570.444200 74.2 23.814913 121.8 38.774121

Tabel 5 Analisis perbedaan banyak iterasi dan waktu eksekusi (dalam second)

metode steepest descent dan metode Barzilai-Borwein untuk fungsi sepuluh variabel dengan lima kali pengulangan

Percobaan

Metode Steepest

Descent

Metode Barzilai-

Borwein 1

Metode Barzilai-

Borwein 2

Iterasi Waktu (s) Iterasi Waktu (s) Iterasi Waktu (s)

I > 7000 > 7200 318 274.72489 360 309.878894

II > 5000 > 3600 1273 1404.82539 837 766.676187

III 2296 1113.4 407 354.69158 445 391.399808

IV > 5000 > 3600 311 288.00704 327 289.547620

V > 5000 > 3600 645 586.43346 311 298.056710

Rata-rata > 5000 > 3600 590.8 581.73647 456 409.311843

Pada Tabel 1, 2, 3, 4, dan 5 dapat dilihat bahwa waktu eksekusi yang

diperoleh untuk menyelesaikan masalah pengoptimuman tak berkendala fungsi

banyak variabel dilakukan dengan pengulangan eksekusi. Untuk semua fungsi

dilakukan lima kali pengulangan eksekusi dengan fungsi yang sama, sehingga

mendapatkan hasil waktu eksekusi yang berbeda-beda. Hal tersebut dipengaruhi

oleh keadaan kinerja komputer pada saat melakukan komputasi. Adanya

Page 25: PERBANDINGAN WAKTU EKSEKUSI METODE STEEPEST … · Pengoptimuman bertujuan mencari nilai minimum atau maksimum dari suatu fungsi bernilai real. Secara umum, ada dua jenis pengoptimuman

13

perbedaan hasil eksekusi tersebut, selanjutnya dilakukan penghitungan nilai rata-

rata waktu eksekusi untuk mempermudah menganalisis perbedaan waktu eksekusi

antara metode steepest descent dan metode Barzilai-Borwein. Perbedaan rata-rata

banyak iterasi dan waktu eksekusi antara metode steepest descent dan metode

Barzilai-Borwein dengan menggunakan perangkat lunak MATLAB, dapat dilihat

pada Tabel 6 dan Tabel 7.

Tabel 6 Perbedaan iterasi rata-rata metode steepest descent dan metode Barzilai-

Borwein

Studi Kasus

Ukuran

Banyak Iterasi

Metode Steepest

Descent

Metode Barzilai-

Borwein 1

Metode Barzilai-

Borwein 2

1 18.2 7.6 6.0

2 107.0 27.0 17.6

3 462.4 54.0 58.0

4 709.4 74.2 121.8

5 > 5000 509.8 456.0

Tabel 7 Perbedaan waktu eksekusi (dalam second) rata-rata metode steepest

descent dan metode Barzilai-Borwein

Studi

Kasus

Ukuran

Waktu Eksekusi (s)

Metode Steepest

Descent

Metode Barzilai-

Borwein 1

Metode

Barzilai-Borwein 2

1 10.260604 1.334004 1.175340

2 78.434649 5.372200 3.678863

3 435.520938 13.470665 14.086237

4 570.444200 23.814913 38.774121

5 > 3600 581.736473 409.311843

Perbedaan iterasi dan waktu eksekusi rata-rata metode steepest descent dan

metode Barzilai-Borwein disajikan juga dalam bentuk grafik sebagai berikut:

Page 26: PERBANDINGAN WAKTU EKSEKUSI METODE STEEPEST … · Pengoptimuman bertujuan mencari nilai minimum atau maksimum dari suatu fungsi bernilai real. Secara umum, ada dua jenis pengoptimuman

14

Gambar 5 Iterasi rata-rata metode steepest descent dan metode Barzilai-

Borwein

Gambar 6 Waktu eksekusi rata-rata metode steepest descent dan metode

Barzilai-Borwein

Pada Gambar 5 menunjukkan perbedaan iterasi rata-rata metode steepest

descent dan metode Barzilai-Borwein. Iterasi metode steepest descent lebih besar

0

100

200

300

400

500

600

700

800

2 × 2 3 × 3 4 × 4 5 × 5 10 × 10

Ban

yak

Iter

asi

SD

BB 1

BB 2

0

100

200

300

400

500

600

700

2 × 2 3 × 3 4 × 4 5 × 5 10 × 10

Wak

tu E

ksek

usi

(s)

SD

BB 1

BB 2

Page 27: PERBANDINGAN WAKTU EKSEKUSI METODE STEEPEST … · Pengoptimuman bertujuan mencari nilai minimum atau maksimum dari suatu fungsi bernilai real. Secara umum, ada dua jenis pengoptimuman

15

dibandingkan dengan metode Barzilai-Borwein. Untuk data berukuran ,

metode steepest descent tidak diplot pada grafik. Hal ini disebabkan iterasi yang

masih berlanjut selama lebih dari 24 jam.

Pada Gambar 6 jelas terlihat perbedaan waktu eksekusi rata-rata metode

steepest descent dan metode Barzilai-Borwein. Pada data berukuran

perbedaan waktu eksekusi rata-rata metode steepest descent dan metode Barzilai-

Borwein tidak terlihat menonjol. Pada data berukuran dan data berukuran

sudah mulai terlihat waktu eksekusi metode steepest descent semakin naik.

Sebaliknya, metode Barzilai-Borwein juga sudah mengalami kenaikan akan tetapi

sangat kecil. Pada data berukuran terlihat sangat menonjol perbedaan waktu

eksekusi rata-rata antara metode steepest descent dan metode Barzilai-Borwein.

Untuk metode Barzilai-Borwein dengan kasus stepsize yang berbeda, perbedaan

waktu eksekusi rata-rata sangat kecil. Pada data berukuran , data berukuran

, dan data berukuran metode Barzilai-Borwein 1 waktu eksekusi

rata-rata lebih besar dibandingkan dengan waktu eksekusi rata-rata metode

Barzilai-Borwein 2. Sebaliknya, pada data berukuran dan data berukuran

waktu eksekusi rata-rata metode Barzilai-Borwein 1 lebih kecil

dibandingkan dengan metode Barzilai-Borwein 2. Untuk data berukuran ,

waktu eksekusi rata-rata metode steepest descent tidak diplot pada grafik

sedangkan metode Barzilai-Borwein 1 dan metode Barzilai-Borwein 2 sebesar

581.7364732 second dan 409.311843 second. Hal ini disebabkan waktu eksekusi

yang sangat lama yaitu lebih dari 24 jam dan prosesnya masih berlanjut.

SIMPULAN DAN SARAN

Simpulan

Metode steepest descent merupakan salah satu metode klasik untuk

menyelesaikan pengoptimuman tak berkendala fungsi banyak variabel dan paling

sering digunakan. Metode steepest descent sangat lambat ke solusi optimal, hal ini

terjadi karena jalur zig-zag dalam menuju solusi optimal. Metode steepest descent

berkinerja buruk dan iterasi yang dihasilkan lebih banyak untuk dimensi yang

lebih tinggi. Barzilai dan Borwein memperkenalkan dua stepsize yang menjamin

konvergensi yang lebih baik. Metode Barzilai-Borwein bertujuan mempercepat

konvergensi metode steepest descent. Berdasarkan analisis pada studi kasus yang

dilakukan dengan menggunakan perangkat lunak MATLAB, hasil perbandingan

waktu eksekusi metode Barzilai-Borwein lebih cepat dibandingkan dengan

metode steepest descent baik untuk dimensi rendah maupun untuk dimensi tinggi.

Saran

Karya Ilmiah ini dapat dilanjutkan dengan metode yang berbeda atau

dengan menggunakan perangkat lunak yang berbeda.

Page 28: PERBANDINGAN WAKTU EKSEKUSI METODE STEEPEST … · Pengoptimuman bertujuan mencari nilai minimum atau maksimum dari suatu fungsi bernilai real. Secara umum, ada dua jenis pengoptimuman

16

DAFTAR PUSTAKA

Barzilai J, Borwein JM. 1988. Two-point stepsize gradient methods. IMA Journal

of Numerical Analysis. 8(1):141-148.doi: 10.1093/imanum/8.1.141.

Draper N, Smith H. 1992. Analisis Regresi Terapan. Ed ke-2. Sumantri B,

penerjemah. Jakarta (ID): Gramedia Pustaka Utama. Terjemahan dari:

Applied Regression Analysis.

Jensen PA, Bard JF. 2003. Operations Research Models and Methods. New York

(US): John Wiley and Sons.

Leon SJ. 2001. Aljabar Linear dan Aplikasinya. Ed ke-5. Bondan A, penerjemah;

Hardani HW, editor. Jakarta (ID): Penerbit Erlangga. Terjemahan dari:

Linear Algebra with Applications.

Luenberger DG, Ye Y. 2008. Linear and Nonlinear Programming. Ed ke-3. New

York (US): Springer.

Sun W, Yuan YX. 2006. Optimization Theory and Methods. New York (US):

Springer.

Page 29: PERBANDINGAN WAKTU EKSEKUSI METODE STEEPEST … · Pengoptimuman bertujuan mencari nilai minimum atau maksimum dari suatu fungsi bernilai real. Secara umum, ada dua jenis pengoptimuman

17

Lampiran 1 Sintaks metode steepest descent percobaan ke-1 Tabel 1 untuk fungsi

dengan dua variabel

Page 30: PERBANDINGAN WAKTU EKSEKUSI METODE STEEPEST … · Pengoptimuman bertujuan mencari nilai minimum atau maksimum dari suatu fungsi bernilai real. Secara umum, ada dua jenis pengoptimuman

18

Lampiran 2 Sintaks metode Barzilai-Borwein 1 percobaan ke-1 Tabel 1 untuk

fungsi dengan dua variabel

Page 31: PERBANDINGAN WAKTU EKSEKUSI METODE STEEPEST … · Pengoptimuman bertujuan mencari nilai minimum atau maksimum dari suatu fungsi bernilai real. Secara umum, ada dua jenis pengoptimuman

19

Lampiran 3 Sintaks metode Barzilai-Borwein 2 percobaan ke-1 Tabel 1 untuk

fungsi dengan dua variabel

Page 32: PERBANDINGAN WAKTU EKSEKUSI METODE STEEPEST … · Pengoptimuman bertujuan mencari nilai minimum atau maksimum dari suatu fungsi bernilai real. Secara umum, ada dua jenis pengoptimuman

20

Lampiran 4 Sintaks metode steepest descent percobaan ke-1 Tabel 2 untuk fungsi

dengan tiga variabel

Page 33: PERBANDINGAN WAKTU EKSEKUSI METODE STEEPEST … · Pengoptimuman bertujuan mencari nilai minimum atau maksimum dari suatu fungsi bernilai real. Secara umum, ada dua jenis pengoptimuman

21

Lampiran 5 Sintaks metode Barzilai-Borwein 1 percobaan ke-1 Tabel 2 untuk

fungsi dengan tiga variabel

Page 34: PERBANDINGAN WAKTU EKSEKUSI METODE STEEPEST … · Pengoptimuman bertujuan mencari nilai minimum atau maksimum dari suatu fungsi bernilai real. Secara umum, ada dua jenis pengoptimuman

22

Lampiran 6 Sintaks metode Barzilai-Borwein 2 percobaan ke-1 Tabel 2 untuk

fungsi tiga variabel

Page 35: PERBANDINGAN WAKTU EKSEKUSI METODE STEEPEST … · Pengoptimuman bertujuan mencari nilai minimum atau maksimum dari suatu fungsi bernilai real. Secara umum, ada dua jenis pengoptimuman

23

Lampiran 7 Sintaks metode steepest descent percobaan ke-1 Tabel 3 untuk fungsi

dengan empat variabel

Page 36: PERBANDINGAN WAKTU EKSEKUSI METODE STEEPEST … · Pengoptimuman bertujuan mencari nilai minimum atau maksimum dari suatu fungsi bernilai real. Secara umum, ada dua jenis pengoptimuman

24

Lampiran 8 Sintaks metode Barzilai-Borwein 1 percobaan ke-1 Tabel 3 untuk

fungsi dengan empat variabel

Page 37: PERBANDINGAN WAKTU EKSEKUSI METODE STEEPEST … · Pengoptimuman bertujuan mencari nilai minimum atau maksimum dari suatu fungsi bernilai real. Secara umum, ada dua jenis pengoptimuman

25

Lampiran 9 Sintaks metode Barzilai-Borwein 2 percobaan ke-1 Tabel 3 untuk

fungsi dengan empat variabel

Page 38: PERBANDINGAN WAKTU EKSEKUSI METODE STEEPEST … · Pengoptimuman bertujuan mencari nilai minimum atau maksimum dari suatu fungsi bernilai real. Secara umum, ada dua jenis pengoptimuman

26

Lampiran 10 Sintaks metode steepest descent percobaan ke-1 Tabel 4 untuk

fungsi dengan lima variabel

Page 39: PERBANDINGAN WAKTU EKSEKUSI METODE STEEPEST … · Pengoptimuman bertujuan mencari nilai minimum atau maksimum dari suatu fungsi bernilai real. Secara umum, ada dua jenis pengoptimuman

27

Lampiran 11 Sintaks metode Barzilai-Borwein 1 percobaan ke-1 Tabel 4 untuk

fungsi dengan lima variabel

Page 40: PERBANDINGAN WAKTU EKSEKUSI METODE STEEPEST … · Pengoptimuman bertujuan mencari nilai minimum atau maksimum dari suatu fungsi bernilai real. Secara umum, ada dua jenis pengoptimuman

28

Lampiran 12 Sintaks metode Barzilai-Borwein 2 percobaan ke-1 Tabel 4 untuk

fungsi dengan lima variabel

Page 41: PERBANDINGAN WAKTU EKSEKUSI METODE STEEPEST … · Pengoptimuman bertujuan mencari nilai minimum atau maksimum dari suatu fungsi bernilai real. Secara umum, ada dua jenis pengoptimuman

29

Lampiran 13 Sintaks metode steepest descent percobaan ke-1 Tabel 5 untuk

fungsi dengan sepuluh variabel

Page 42: PERBANDINGAN WAKTU EKSEKUSI METODE STEEPEST … · Pengoptimuman bertujuan mencari nilai minimum atau maksimum dari suatu fungsi bernilai real. Secara umum, ada dua jenis pengoptimuman

30

Lampiran 14 Sintaks metode Barzilai-Borwein 1 percobaan ke-1 Tabel 5 untuk

fungsi dengan sepuluh variabel

Page 43: PERBANDINGAN WAKTU EKSEKUSI METODE STEEPEST … · Pengoptimuman bertujuan mencari nilai minimum atau maksimum dari suatu fungsi bernilai real. Secara umum, ada dua jenis pengoptimuman

31

Lampiran 15 Sintaks metode Barzilai-Borwein 1 percobaan ke-1 Tabel 5 untuk

fungsi dengan sepuluh variabel

Page 44: PERBANDINGAN WAKTU EKSEKUSI METODE STEEPEST … · Pengoptimuman bertujuan mencari nilai minimum atau maksimum dari suatu fungsi bernilai real. Secara umum, ada dua jenis pengoptimuman

32

RIWAYAT HIDUP

Penulis dilahirkan di Jakarta pada tanggal 14 September 1992 sebagai anak

pertama dari empat bersaudara, dari pasangan Rusdi dan Dini. Pada tahun 1998,

penulis lulus dari TK Islam Raudatul Amanah Bekasi. Pada tahun 2001, penulis

lulus dari SD Negeri Kaliabang Tengah V Bekasi. Pada tahun 2007, penulis lulus

dari SMP Negeri 234 Jakarta. Pada tahun 2010, penulis lulus dari SMA Negeri 89

Jakarta dan pada tahun yang sama penulis diterima di Departemen Matematika

IPB melalui jalur Undangan Seleksi Masuk IPB (USMI).

Selama masa perkuliahan penulis aktif pada lembaga kemahasiswaan IPB,

di antaranya Staf Biro Keuangan Gumatika IPB tahun kepengurusan 2012/2013

dan menjadi Staf Divisi Kewirausahaan Gumatika IPB tahun kepengurusan

2011/2012. Penulis juga aktif dalam kepanitiaan di antaranya Olimpiade

Mahasiswa IPB (OMI), Matematika Ria, Math Ice, IPB Mathematics Challenge,

Math Camp, dan SPIRIT FMIPA IPB. Selain itu, penulis juga aktif di UKM

Futsal Putri IPB.