BAB II TINJAUAN PUSTAKA
2.1. Algoritma Genetika Algoritma genetika sebagai cabang dari algoritma evolusi merupakan metode yang digunakan untuk memecahkan suatu pencarian nilai dalam permasalahan-permasalahan optimasi non-linier (Gen & Cheng, 2000). Algoritma genetika direpresentasikan oleh urutan langkah-langkah prosedur kromosom buatan yang bergerak dari satu populasi ke populasi baru menggunakan seleksi alami dan teknik yang diambil dari genetika yang dikenal sebagai crossover dan mutasi. Setiap kromosom terdiri dari sejumlah ‘gen’, dan setiap gen diwakili oleh 0 atau 1 (Negnevitsky, 2005). Algoritma genetika berbeda dengan metode konvergensi umum yang bersifat deterministik (Gen & Cheng, 1997). Algoritma genetika memakai mekanisme seleksi alam dan ilmu genetika sehingga istilah-istilah pada algoritma genetik tidak jauh berbeda dengan istilah-istilah pada seleksi alam dan ilmu genetik. Sebuah solusi yang dibangkitkan dalam algoritma genetika disebut sebagai kromosom, sedangkan kumpulan
kromosom-kromosom
tersebut
disebut
sebagai
populasi.
Sebuah
kromosom dibentuk dari komponen-komponen penyusun yang disebut sebagai gen dan nilainya dapat berupa bilangan numerik, biner, simbol ataupun karakter tergantung dari permasalahan yang ingin diselesaikan. Kromosom-kromosom tersebut akan berevolusi secara berkelanjutan yang disebut dengan generasi. Dalam tiap generasi kromosom-kromosom tersebut dievaluasi tingkat keberhasilan nilai solusinya terhadap masalah yang ingin diselesaikan (fungsi_objektif) menggunakan ukuran yang disebut dengan fitness. Secara umum tahapan proses dari algoritma genetika diperlihatkan pada Gambar 2.1. Seperti terlihat pada gambar kromosom merupakan representasi dari solusi. Operator genetika yang terdiri dari crossover dan mutasi dapat dilakukan bersamaan atau hanya salah satu saja yang selanjutnya operator evolusi dilakukan melalui proses seleksi kromosom dari parent (generasi induk) dan dari offspring (generasi turunan) untuk membentuk generasi baru (new population) yang diharapkan
Universitas Sumatera Utara
6
akan lebih baik dalam memperkirakan solusi yang optimum, Kemudian akan dilanjutkan dengan proses iterasi sesuai dengan jumlah generasi yang ditetapkan. Crossover Chromosomes (parent)
1100101010 1011101110
1100101010
encoding SOLUSI
1011101110 1100101110 0011011001 1011101010
1100110001 Mutation
New Population 0011011001 Selection
Random All offspring Top renk Etc.
0011001001
Evaluation 1100101110 1011101010 0011001001
1100110001 Decoding SOLUSI
Fitness Computation
Gambar 2.1 Ilustrasi tahapan proses dari algoritma genetika (Gen & Cheng, 1997)
2.2. Struktur Umum Algoritma Genetika Algoritma genetika memberikan pilihan untuk menentukan nilai parameter dengan menduplikasi cara reproduksi genetika, pembentukan kromosom baru, proses migrasi gen, serta seleksi alami seperti yang terjadi pada organisme hidup. Secara umum Algoritma Genetika dapat diilustrasikan melalui diagram pada Gambar 2.2.
Universitas Sumatera Utara
7
Inisialisasi Populasi Awal
Hitung Nilai Fi tness
Selek si
Persil angan (Crossover) Tidak
Mutasi
Populasi Baru
Generasi Maksimum?
Ya
Berhenti
Gambar 2.2 Diagram Struktur Umum Algoritma Genetika Inisialisasi populasi awal dilakukan untuk menghasilkan solusi awal dari suatu permasalahan algoritma genetika. Inisialisasi ini dilakukan secara random sesuai dengan jumlah kromosom per populasi yang diinginkan. Selanjutnya dilakukan perhitungan nilai fitness dan selanjutkan dilakukan seleksi dengan menggunakan metode roulette wheel, tournament atau ranking. Kemudian dilakukan persilangan (crossover) dan mutasi. Setelah melalui beberapa generasi maka algoritma ini akan berhenti sebanyak generasi yang diinginkan (Michalewich, 1998). Berikut ini adalah karakteristik-karakteristik yang perlu diketahui sehingga dapat dibedakan dari prosedur pencarian atau optimasi yang lain, yaitu (Goldberg, 1989) : 1. Algoritma Genetika bekerja dengan pengkodean dari himpunan solusi permasalahan. 2. Algoritma Genetika melakukan pencarian pada sebuah populasi dari sejumlah individu-individu yang merupakan solusi permasalahan bukan hanya dari satu individu.
Universitas Sumatera Utara
8
3. Algoritma Genetika merupakan informasi dari fungsi objektif sebagai cara untuk mengevaluasi individu yang mempunyai solusi terbaik, bukan turunan dari satu fungsi saja. 4. Algoritma Genetika menggunakan aturan-aturan transisi peluang, bukan dari aturan-aturan deterministik.
2.3. Membangkitkan Populasi Awal dan Kromosom Membangkitkan populasi awal merupakan suatu proses pembangkitan sejumlah individu atau kromosom secara acak. Ukuran populasi tergantung pada masalah yang akan diselesaikan dan jenis operator genetika yang akan digunakan. Setelah ukuran populasi ditentukan, dilakukan pembangkitan populasi awal. Apabila ukuran populasi yang dipilih terlalu kecil, maka tingkat eksplorasi atas ruang pencarian global akan terbatas, walaupun arah menuju konvergensi lebih cepat. Apabila ukuran populasi terlalu besar, maka waktu akan banyak terbuang karena berkaitan dengan besarnya jumlah data yang dibutuhkan dan waktu ke arah konvergensi akan lebih lama (Goldberg, 1989). Teknik dalam pembangkitan populasi awal ini ada beberapa cara, diantaranya adalah sebagai berikut: 1. Random Generator Inti dari cara ini adalah melibatkan pembangkitkan bilangan random untuk nilai setiap gen sesuai dengan representasi kromosom yang digunakan. 2. Pendekatan Tertentu Cara ini adalah dengan memasukkan nilai tertentu kedalam gen dari populasi yang dibentuk. 3. Permutasi Gen Salah satu cara permutasi gen dalam pembangkitan populasi awal adalah penggunaan permutasi Josephus dalam permasalahan kombinatorial seperti TSP.
2.4. Evaluasi Fitness Suatu individu dievaluasi berdasarkan suatu fungsi tertentu sebagai ukuran performansinya. Didalam evolusi alam, individu yang bernilai fitness tinggi yang akan bertahan hidup. Sedangkan individu yang bernilai fitness rendah akan dihentikan.
Universitas Sumatera Utara
9
2.5. Operator Genetik Algoritma genetika merupakan teknik atau metode pencarian untuk permasalahan heuristic dan acak sehingga pemilihan operator yang digunakan sangat dipengaruhi oleh keberhasilan algoritma genetika dalam menemukan solusi optimal permasalahan yang diselesaikan. Adapun operator-operator yang digunakan adalah sebagai berikut: 2.5.1. Seleksi Dalam proses reproduksi setiap individu, populasi pada suatu generasi diseleksi berdasarkan nilai fitnessnya untuk bereproduksi guna menghasilkan keturunan. Probabilitas terpilihnya suatu individu untuk bereproduksi adalah sebesar nilai fitness individu tersebut dibagi dengan jumlah nilai fitness seluruh individu dalam populasi (Davis, 1991). 2.5.2. Crossover Crossover (persilangan) merupakan suatu proses pemilihan lokasi string secara acak dan menukar karakter-karakter stringnya (Goldberg, 1989). Fungsi crossover menghasilkan kromosom anak yang baru dari kombinasi beberapa gen dari dua kromosom induk yang dipindah silangkan. Probabilitas crossover (Pc) ditentukan dan digunakan untuk mengontrol jumlah frekuensi crossover. 2.5.3. Mutasi Mutasi digunakan sebagai cara untuk mengembalikan materi genetik yang hilang. Melalui mutasi, dapat menciptakan individu baru dengan melakukan modifikasi terhadap satu atau lebih nilai gen pada individu yang sama. Mutasi mencegah banyak hilangnya materi genetika setelah reproduksi dan pindah silang. Mutasi berperan untuk menggantikan nilai gen yang hilang dari suatu populasi akibat seleksi yang memungkinkan munculnya kembali gen yang tidak dimunculkan pada saat proses inisialisasi populasi. 2.5.4. Parameter – Parameter dalam Algoritma Genetika Parameter-parameter genetika berperan dalam pengendalian operator-operator genetika yang digunakan dalam optimasi algoritma genetika menggunakan algoritma genetika. (Davis, 1991) Parameter genetika yang sering digunakan meliputi ukuran populasi (N), probabilitas pindah silang (Pc), dan probabilitas mutasi (Pm). Pemilihan ukuran populasi yang digunakan tergantung pada masalah yang akan diselesaikan. Untuk
Universitas Sumatera Utara
10
masalah yang lebih kompleks biasanya diperlukan ukuran populasi yang lebih besar guna mencegah konvergensi prematur yang menghasilkan lokal optima. Pada tiap generasi, sebanyak Pc * N individu dalam populasi mengalami pindah silang. Makin besar nilai Pc yang diberikan maka makin cepat struktur individu baru yang diperkenalkan ke dalam populasi. Jika nilai Pc yang diberikan terlalu besar, individu yang merupakan kandidat solusi terbaik dapat hilang lebih cepat dibanding seleksi untuk peningkatan kerja. Sebaliknya nilai Pc yang rendah dapat mengakibatkan stagnasi karena rendahnya angka eksplorasi. Probabilitas mutasi adalah probabilitas dimana setiap posisi bit pada tiap string dalam populasi baru mengalami perubahan secara acak setelah proses seleksi. Dalam satu generasi dengan L panjang struktur, kemungkinan terjadi mutasi sebanyak Pm*N*L
2.6. Variasi Genetika Variasi genetika dalam suatu populasi merupakan gambaran dari adanya perbedaan respon antar individu terhadap lingkungan dimana sebagai bahan dasar dari perubahan adaptif. Suatu populasi terdiri dari sejumlah individu. Variasi genetika merupakan variasi pada alel dan gen yang terjadi didalam satu populasi maupun diantara populasi yang berbeda. Variasi genetika sangat penting karena menyediakan bahan genetik untuk seleksi alam. Variasi genetika yang dibawa oleh mutasi yang merupakan perubahan permanen dalam struktur kimia gen. Poliploidi adalah contoh dari kromosom mutasi. Poliploidi adalah suatu kondisi dimana organisme memiliki tiga atau lebih set variasi genetika. Mutasi ini dimulai oleh orang tua, sebagai pasangan induk keturunannya sekarang memiliki kesempatan untuk mewarisi sifat yang sama dengan induknya (Hartl & Jones, 1998). Variasi berasal dari mutasi bahan genetika, migrasi antar populasi (aliran gen), dan perubahan susunan gen melalui reproduksi seksual. Variasi juga dibentuk dari persilangan gen antara spesies yang berbeda. Contohnya melalui perpindahan gen horizontal bakteria dan hibridisasi pada tanaman.Walaupun terdapat variasi yang terjadi secara terus menerus melalui proses-proses ini, kebanyakan genom spesies identik terhadap seluruh individu spesies tersebut. Perubahan kecil pada genotipe dapat mengakibatkan perubahan yang signifikan pada fenotipenya.
Universitas Sumatera Utara
11
Variasi genetika antar individu dalam suatu populasi dapat diidentifikasi pada berbagai tingkatan. Hal ini dimungkinkan untuk mengidentifikasi variasi genetik dari pengamatan variasi fenotipik baik sifat kuantitatif (sifat yang berubah secara terus menerus dan disandikan oleh banyak gen, misalnya panjang kaki pada anjing) atau sifat diskrit (sifat yang masuk dalam kategori diskrit dan dikodekan oleh satu atau beberapa gen (misalnya warna putih, merah muda dan merah kelopak pada bunga tertentu) (Barnes & Breen, 2010).
2.7. Hukum Ketetapan Hardy-Weinberg Pada tahun 1908, seorang ahli matematika berkebangsaan Inggris Godfrey Harold Hardy (1877-1947) dan seorang dokter berkebangsaan Jerman Wilhelm Weinberg (1862-1937) secara terpisah menguraikan kondisi penting tentang keseimbangan genetik. Mereka menemukan dasar-dasar frekuensi gen dalam suatu populasi yang terpisah dan menemukan suatu hubungan matematika dari frekuensi gen dalam populasi, yang kemudian dikenal dengan hukum Hardy-Weinberg (prinsip kesetimbangan). Pernyataan itu menegaskan bahwa frekuensi gen suatu populasi (gene pool) selalu konstan dari generasi ke generasi dengan kondisi tertentu. Hukum ini digunakan sebagai parameter untuk mengetahui apakah dalam suatu populasi sedang berlangsung evolusi ataukah tidak (Vogel & Motulsky, 1997). Dalam perkawinan secara acak pada suatu organisme membentuk pasangan kawin secara independen dari genotype, setiap jenis pasangan kawin terbentuk sesering dengan diharapkannya pertemuan suatu kesempatan. Kawin acak sangat jauh dari sistem perkawinan yang paling umum untuk sebagian besar spesies hewan dan manusia, kecuali untuk tanaman yang secara teratur ber-reproduksi melalui self-fertilisation. Hukum Hardy-Weinberg menyatakan bahwa di bawah suatu kondisi yang stabil, baik frekuensi gen maupun perbandingan genotip akan tetap (konstan) dari generasi ke generasi pada populasi yang berbiak secara seksual. Syarat berlakunya asas Hardy-Weinberg: 1. Setiap gen mempunyai viabilitas dan fertilitas yang sama 2. Persilangan terjadi secara acak 3. Tidak terjadi mutasi gen. 4. Tidak terjadi migrasi 5. Jumlah individu dari suatu populasi selalu besar
Universitas Sumatera Utara
12
Jika lima syarat yang diajukan dalam kesetimbangan Hardy Weinberg tadi tidak terpenuhi, maka akan terjadi evolusi pada populasi tersebut, yang akan menyebabkan perubahan perbandingan alel dalam populasi yang dibentuk. Definisi evolusi sekarang dapat dikatakan sebagai perubahan dari generasi ke generasi dalam hal frekuensi alel atau genotipe populasi. Dalam perubahan dalam kumpulan gen ini (yang merupakan skala terkecil), spesifik dikenal sebagai mikroevolusi. Hukum Hardy-Weinberg ini berfungsi sebagai parameter evolusi dalam suatu populasi. Bila frekuensi gen dalam suatu populasi selalu konstan dari generasi ke generasi, maka populasi tersebut tidak mengalami evolusi. Bila salah satu saja syarat tidak dipenuhi maka frekuensi gen berubah, artinya populasi tersebut telah dan sedang mengalami evolusi. Hukum Hardy-Weinberg menyatakan populasi mendelian yang berukuran besar sangat memungkinkan terjadinya kawin acak di antara individu-individu anggotanya. Artinya, tiap individu memiliki peluang yang sama untuk bertemu dengan individu lain, baik dengan genotipe yang sama maupun berbeda dengannya. Dengan adanya sistem kawin acak ini, frekuensi alel akan senantiasa konstan dari generasi ke generasi. Dengan kawin acak, hubungan antara frekuensi alel dan frekuensi genotipe menjadi sederhana karena perkawinan acak individu setara dengan sekumpulan gamet acak. Untuk membentuk genotipe zigot, pasangan gamet ditarik dari wadah secara acak. Untuk lebih spesifik, mempertimbangkan alel M dan N pada golongan darah MN, yang frekuensi alel adalah p dan q, dengan mengingat bahwa p + q = 1. Frekuensi genotipe dengan kawin acak dapat disimpulkan dari gambar 2.3 berikut (Hartl & Jones, et al. 1998):
Gambar 2.3 Diagram Frekuensi genotype untuk kawin acak.
Genotipe yang dapat dibentuk dengan dua alel akan ditampilkan di sebelah kanan, dan dengan perkawinan acak, frekuensi masing-masing genotipe dihitung dengan mengalikan frekuensi alel dari gamet yang sesuai. Namun, MN genotipe dapat dibentuk
Universitas Sumatera Utara
13
dalam dua cara-alel M bisa datang dari ayah (bagian atas diagram) atau dari ibu (bagian bawah diagram). Dalam setiap kasus, frekuensi genotipe MN adalah pq; mengingat kedua kemungkinan, kita menemukan bahwa frekuensi MN adalah pq + pq = 2pq. Di samping kawin acak, ada persyaratan lain yang harus dipenuhi bagi berlakunya hukum Hardy-Weinberg, yaitu tidak terjadi migrasi, mutasi, dan seleksi. Dengan perkatan lain, terjadinya peristiwa-peristiwa ini serta sistem kawin yang tidak acak akan mengakibatkan perubahan frekuensi alel (Vogel & Motulsky, 1997).
2.8. Traveling Salesman Problem (TSP) Traveling Salesman Problem dikemukakan pada tahun 1800-an oleh seorang matematikawan asal Irlandia, William Rowan Hamilton, dan matematikawan asal inggris, Thomas Panyngton. Permasalahan TSP termasuk kedalam kelas NP-hard yang menggunakan pendekantan heuristik ini merupakan permasalahan dimana seorang pedagang harus mengunjungi semua kota dimana setiap kota hanya dikunjungi sekali dan dia harus mulai dan kembali ke kota asal. Tujuan yang ingin dicapai pada permasalahan TSP adalah mencari rute terpendek bagi seorang pedagang (Biggs, et al. 1976)
2.9.Penelitian Terkait 2.10.1 Penelitian Terdahulu Omara & Arafa (2010) membahas mengenai pengembangan algoritma genetika standard (SGA) dengan memodifikasi fungsi fitness dalam permasalahan penjadwalan tugas. Dimana mereka mengembangkan dua teknik untuk mengoptimalkan fungsi fitness yaitu fungsi fitness untuk meminimalkan total waktu eksekusi dan untuk menentukan kepuasan keseimbangan beban. Kedua teknik tersebut diimplementasikan kedalam algoritma gentika dengan nama Critical Path Genetic Algorithms (CPGA) dan Task Duplication Genetic Algorithms (TDGA); (Chaari, et al. 2011) membahas mengenai penerapan algoritma genetika untuk permasalahan penjadwalan hybrid flow shop yang kokoh. Mereka mempertimbangkan masalah penjadwalan yang tidak pasti dan mengembangkan algoritma genetika dimana fungsi evaluasi bi-objektif yang kokoh didefinisikan untuk memperoleh hasil yang baik, solusi efektif yang sedikit sensitif untuk ketidakpastian data. Untuk hasil dari uji coba tersebut menunjukkan hasil yang baik untuk efektivitas dan ketahanan dalam berbagai tingkat ketidakpastian.
Universitas Sumatera Utara
14
Ahmed (2010) mengembangkan algoritma genetika untuk permasalahan Traveling Salesman Problem (TSP) menggunakan operator crossover baru yaitu Sequential Constructive Crossover (SCX) yang menghasilkan solusi berkualitas tinggi. Dimana operator SCX membangun keturunan dari sepasang induk menggunakan tepi yang lebih baik atas dasar nilai-nilai yang mungkin ada dalam struktur induk yang menjaga urutan node dalam kromosom induk. Al-Dulaimi & Ali (2008) algoritma genetika digunakan untuk menyelesaikan permasalahan TSP. dimana TSP merupakan permasalahan NP-Complete yang dikodekan dalam bentuk genetik. Algoritma Genetika digunakan untuk menentukan rute optimal dengan menghitung matriks jarak Euclidean antar kota-kota yang akan dikunjungi dan urutan kota yang dipilih secara acak sebagai populasi awal. Generasi baru dibuat secara berulang-ulang sampai rute optimal dicapai. Abdoun, et al. (2012) dalam penelitian mereka membahas bagaimana memilih parameter yang tepat untuk mendapatkan hasil yang optimal. Disini mereka melakukan analisis perbandingan antara operator mutasi, yang dikelilingi oleh penelitian dilatasi yang membenarkan relevansi operator genetic yang dipilih untuk menyelesaikan permasalahan Traveling Salesman Problem.
2.10.2 Perbedaan Dengan Penelitian Lain Pada penelitian ini penulis akan mengkaji apakah variasi genetika menggunakan hukum ketetapan Hardy-Weinberg dapat diterapkan kedalam permasalahan komputasi dan membandingkanya dengan algoritma genetika yang sudah ada. Untuk melihat perbandingan dengan penelitian yang lain dapat dilihat pada tabel 2.2.
Universitas Sumatera Utara
15
Tabel 2.1 Perbandingan dengan Penelitian Lain No. Nama Peneliti 1
Nowostawski
Judul Penelitian &
Poli Parallel
(1999)
Genetic
Persamaan
Perbedaan
Algorithm Sama-sama
melakukan Digunakan
Taxonomy
modifikasi terhadap algoritma permasalahan heterogen dan genetika
2
Omara & Arafa (2010)
Genetic
untuk
Algorithms
for
sistem terdistribusi
Task Memodifikasi
Schedulling Problem
algoritma Diimplementasikan
genetika untuk menyelesaikan algoritma permasalahan tertentu
kedalam
genetika
dengan
nama Critical Path Genetic Algorithms (CPGA) dan Task Duplication Algorithms
Genetic (TDGA)
untuk
permasalahan task scheduling. 3
Ahmed (2010)
Genetic Algorithm for the Traveling Sama-sama Salesman Problem using Sequential algoritma Constructive Crossover Operator
menerapkan Pembahasan genetika
menyelesaikan
untuk penggunaan metode sequential
permasalahan constructive crossover pada
TSP 4
Chaari, et al (2011)
A Genetic Algorithm For Robust Sama-sama Hybrid Flow Shop Scheduling
algoritma
mengenai
tahapan persilangannya. menggunakan Digunakan genetika
dalam permasalahan
menyelesaikan permasalahan.
untuk penjadwalan
hybrid flow shop yang kokoh.
Universitas Sumatera Utara
16
5
Al-Dulaimi & Ali (2008)
Enhanced Problem
Traveling Solving
by
Salesman Sama-sama Genetic algoritma
Algorithm Technique (TSPGA)
menerapkan Algoritma Genetika digunakan genetika
menyelesaikan
untuk untuk
menentukan
rute
permasalahan optimal dengan menghitung
TSP
matriks jarak Euclidean antar kota-kota
yang
akan
dikunjungi dan urutan kota yang
dipilih
secara
acak
sebagai populasi awal. 6
Abdoun, et al (2012)
Analyzing
the
Performance
of Sama-sama
Mutation Operators to Solve the algoritma Traveling Salesman Problem
menerapkan Penyelesaian genetika
menyelesaikan
untuk TSP
Beasley & Chu (1996)
A Genetic Algorithm for The Set Sama-sama Covering Problem
algoritma
melihat performansinya. menggunakan Permasalahan yang digunakan genetika
dalam dalam penelitian ini adalah
menyelesaikan permasalahan. 8
Lin, et al (2009)
Genetic Algorithm for Shortest Sama-sama Driving
Time
in
Transportation System
Intelligent algoritma
menggunakan analisis
permasalahan terhadap operator mutasi untuk
TSP 7
permasalahan
permasalahan set covering.
menggunakan Menitikberatkan genetika
pada
untuk pengaruh jumlah gen dan
menentukan rute terpendek.
kromosom
didalam
mendapatkan solusi optimal.
Universitas Sumatera Utara
17
9
Lukas, et al (2005)
Penerapan
Algoritma
Genetika Sama-sama
Untuk Traveling Salesman Problem algoritma Dengan
Menggunakan
menggunakan Penelitian genetika
Metode menyelesaikan
membahas
untuk mengenai analisis penggunaan
permasalahan metode order crossover dan
Order Crossover dan Insertion TSP
dikombinasikan
Mutation
insertion
mutation
melihat
performansi
algoritma
dengan
genetika
untuk dari untuk
permasalahan TSP. 10
Deep & Hadush (2012)
Variant Crossover
of
Partially for
the
Salesman Problems.
Mapped Sama-sama Traveling algoritma
menggunakan Penelitian genetika
menyelesaikan TSP
untuk mengenai
permasalahan metode
ini
membahas
pengembangan partialy
mapped
crossover dengan menentukan letak kromosom dalam posisi acak dan tidak membahas hubungan antar jumlah gen yang mengalami persilangan.
Universitas Sumatera Utara
18
2.10. Kontribusi Penelitian Berdasarkan penelitian yang dilakukan, diharapkan diperoleh kesimpulan terhadap pemanfaatan hukum ketetapan Hardy-Weinberg terhadap algoritma genetika dengan mempertimbangkan keterkaitan parameter mutasi dan seleksi dengan performansi optimal yang dihasilkan pada permasalahan TSP. Dan penelitian ini selanjutnya dapat dikembangkan untuk permasalahan-permasalahan lainnya.
Universitas Sumatera Utara