BAB III PERANCANGAN PERANGKAT 3.1 Proses Kerja Sistem Pada tahap perancangan, akan dirancang sebuah sistem berbasis mikrokontroler yang digunakan untuk menghitung jumlah orang yang masuk dan keluar suatu ruangan dengan menggunakan modul sensor sebagai input dan LCD sebagai output yang akan menampilkan hasil perhitungan mikrokontroler Atmega16. Secara garis besar, diagram blok dari perancangan gerbang penghitung jumlah pengunjung dengan menggunakan mikrokontroler Atmega16 dapat dilihat pada gambar di bawah ini.
Gambar 3.1 Diagram Blok Perangkat Keras Berdasarkan diagram blok di atas, berikut akan dijelaskan urutan kerja pada rancangan alat ini. Pada saat alat ini dihidupkan atau dijalankan maka modul sensor akan mulai mendeteksi apakah ada objek yang lewat. Jika ada orang yang hendak masuk ke ruangan maka dia harus melewati sensor pertama dahulu, lalu mikrokontroler akan mengecek apakah orang tersebut melewati sensor selanjutnya (sebagai konfirmasi), jika orang tersebut melewati sensor selanjutnya maka mikrokontroler akan menghitungnya sebagai orang yang masuk. Dan sebaliknya Jika ada orang yang hendak keluar dari ruangan maka dia harus melewati sensor pertama dahulu, lalu mikrokontroler akan mengecek apakah orang tersebut melewati sensor selanjutnya (sebagai konfirmasi), jika orang tersebut melewati sensor selanjutnya maka mikrokontroler akan menghitungnya sebagai orang yang keluar. Kemudian mikrokontroler akan menampilkan hasil perhitungan di modul penampil LCD.
Universitas Sumatera Utara
3.2 Perancangan Perangkat Keras 3.2.1 Rangkaian Sistem Minimum AVR Rangkaian
sistem
minimum
adalah
rangkaian
minimal
dimana
mikrokontroler dapat bekerja. Sistem minimum ini kemudian dapat dihubungkan dengan rangkaian lain untuk menjalankan fungsi tertentu. Pada rancangan ini digunakan mikrokontroler ATMEGA16 dengan komponen kristal 12 Mhz, kapasitor 22 pf sebanyak dua buah untuk mendukung rangkaian osilator internal. Sistem minimum ini juga dilengkapi rangkaian power on reset supaya terjadi reset sistem pada saat mikrokontroler dihidupkan.
Gambar 3.2 Rangkaian Sistem Minimum AVR
Untuk pemrograman ke mikrokontroler ATMEGA16 maka diperlukan suatu programmer/downloader ISP (In System Programming). Programmer ISP mempunyai keuntungan yaitu dapat memprogram mikrokontroler yang sedang terpasang dengan rangkaian lainnya tanpa harus mencabut chip mikrokontroler tersebut sehingga lebih praktis jika ingin melakukan pemrograman secara berulang-ulang. Pemrograman berbasis ISP cukup menghubungkan antara pin MOSI, MISO, SCK, RESET, VCC dan Ground dengan programmer ISP tersebut.
Universitas Sumatera Utara
Programmer ISP yang digunakan adalah programmer K-125R yang dapat memprogram hampir semua jenis chip AVR dan menggunakan catu daya USB (5 Volt) langsung sumber daya listrik programmer tersebut.
Gambar 3.3 Programmer K-125R
3.2.2 Regulator Tegangan Catu daya adalah suatu rangkaian yang berguna untuk memberikan daya listrik kepada seluruh rangkaian pada mikrokontroler. Mikrokontroler dapat bekerja dengan baik maka catu daya harus mempunyai tegangan listrik yang stabil. Untuk itu maka rangkaian catu daya mempunyai bagian-bagian yang penting yaitu penyearah dan penstabil tegangan. Rangkaian regulator tegangan adalah rangkaian pengatur tegangan agar tegangan yang keluar dari rangkaian ini tetap pada satu nilai meskipun inputnya lebih besar dari nilai yang diinginkan. Pada rancangan ini digunakan LM7805 sebagai regulator tegangan dikarenakan LM7805 bisa menerima tegangan masukan antara 8V – 18 V tetapi tegangan keluarannya bernilai 5V yang sesuai dengan tegangan yang dibutuhkan oleh mikrokontroler sebagai catu dayanya.
Gambar 3.4 Rangkaian Regulator Tegangan
Universitas Sumatera Utara
3.2.3 Rangkaian LCD LCD (liquid crystal display) adalah suatu alat penampil dari bahan cairan kristal
yang
pengoperasiannya
menggunakan
sistem
dot
matriks.
Fungsi LCD pada rancangan ini digunakan untuk menampilkan hasil dari proses perhitungan mikrokontroler. Pada perancangan ini, LCD yang digunakan adalah LCD 16x2 yang memiliki backlamp. LCD tersebut dihubungkan dengan Port B pada mikrokontroler ATMEGA16. LCD yang digunakan pada perancangan ini adalah LCD paralel berbasis HD44780 produksi Hitachi. Kontroler dan penggerak LCD dapat menampilkan karakter alfanumerik, karakter Jepang (katakana), dan beberapa simbol. Kontroler ini mengandung ROM pembentuk karakter (character generator ROM) berukuran 9920 bit yang menghasilkan 240 karakter yang terdiri atas 208 karakter dengan resolusi 5x8 titik (dot, pixel) dan 32 karakter dengan resolusi 5x10 titik. Kontroler ini juga mengandung RAM pembentuk karakter yang dapat menyimpan 64 karakter 8 bit.
Gambar 3.5 Rangkaian LCD Seperti ditunjukkan dalam Gambar 3.5, hubungan perangkat keras dengan mikrokontroler terdiri atas 8 saluran data (D0-D7) dan kontrol yang terdiri atas Enable (E, Clock) untuk memalangkan data ke buffernya, sinyal Read/Write (R/W), Register Select (RS): RS= 0 modus komando, RS=1 modus data, ditambah jalur catu daya: Vss (ground), Vdd (Vcc, +5V), dan Vee (contrast control). Pada umumnya, VEE ini dihubungkan ke pembagi tegangan (potensiometer) antara VCC dan Ground. Karena LCD yang digunakan mempunyai backlamp, maka
Universitas Sumatera Utara
ditambahkan 2 pin yaitu pin ke-15 berfungsi untuk catu daya +5 Volt dan pin ke16 berfungsi sebagai ground.
3.2.4 Rangkaian sensor Prinsip utama dari rangkaian sensor ini sama seperti sebuah saklar yang memberikan perubahan tegangan dari low ke high apabila terdapat penghalang diantara transceiver dan receiver. Rangkaian atau modul sensor ini memiliki dua buah piranti yaitu rangkaian pembangkit atau pengirim (LED inframerah) dan rangkaian penerima (photo transistor). Keluaran dari modul sensor ini adalah kolektor dari photo transistor. Pada saat terdapat penghalang diantara transceiver dan receiver, photo transistor akan cut off maka tidak terjadi aliran arus dari collector ke emitter menuju ke ground sehingga collector yang merupakan keluaran dari modul sensor ini akan berkondisi high. Apabila tidak terdapat penghalang diantara transceiver dan receiver, photo transistor akan saturasi maka arus mengalir dari collector ke emitter menuju ke ground dan output dari modul sensor ini akan berkondisi low. Perangkat keras dirancang dalam bentuk miniatur dengan panjang 60 cm dan lebar 43 cm dan tinggi 28 cm. Transmitter LED infrared dipasang di bawah dan berjumlah 8 buah sedangkan receiver photo transistor dipasang diatas dan berjumlah 8 buah. Transmitter LED infrared dipasang berhadap-hadapan dengan receiver photo transistor. Jarak antara satu sensor dengan sensor yang lain Secara paralel ( di kiri dan kanan ) adalah 13 cm dan jarak antara satu sensor dengan sensor yang lain secara lain secara seri adalah 33 cm. Instalasi modul sensor dapat dilihat pada gambar di bawah.
Universitas Sumatera Utara
Gambar 3.6 Modul sensor tampak atas
Gambar 3.7 Modul sensor tampak depan
Pada perancangan Perangkat keras secara real, Transmitter LED infrared dipasang di lantai dan berjumlah 8 buah sedangkan receiver photo transistor dipasang di langit-langit dan berjumlah 8 buah. Transmitter LED infrared dipasang berhadap-hadapan dengan receiver photo transistor. Jarak antara satu sensor dengan sensor yang lain Secara paralel ( di kiri atau kanan ) adalah sekitar 40 cm dan jarak antara satu sensor dengan sensor yang lain secara seri ( di depan atau belakang ) adalah 70 cm.
3.3 Perancangan Perangkat Lunak 3.3.1 Gambaran Umum
Universitas Sumatera Utara
Perangkat lunak merupakan salah satu komponen yang membuat mikrokontroler dapat bekerja sebagaimana mestinya. Perangkat lunak ini yang mengendalikan tingkah laku dari mikrokontroler dan menentukan pekerjaan apa yang harus dilakukan oleh mikrokontroler. Perangkat lunak dapat ditulis dengan menggunakan bahasa assembly, tetapi pada perancangan perangkat lunak mikrokontroler ini akan digunakan bahasa tingkat tinggi yaitu C. Keuntungan menggunakan bahasa tingkat tinggi adalah kecepatan penyelesaian program dikarenakan tidak perlu memahami register-register yang akan digunakan dalam perancangan sehingga lebih mudah dipahami dibandingkan dengan bahasa assembly. Perangkat lunak yang dibuat dengan menggunakan bahasa C akan menghasilkan file HEX adalah CodeVisionAVR. CodeVisionAVR merupakan sebuah cross-compiler C, Integrated Development Environtment (IDE), dan Automatic Program Generator didesain untuk mikrokontroler buatan Atmel seri AVR. CodeVisionAVR dapat dijalankan pada system operasi Windows 95, 98, Me, NT4, 2000, dan XP. Cross-compiler C mampu menerjemahkan hampir semua perintah dari bahasa ANSI
C, sejauh
yang diijinkan oleh arsitektur AVR,
dengan tambahan beberapa fitur untuk mengambil kelebihan khusus dari arsitektur AVR dan kebutuhan pada sistem tertanam. Perangkat lunak yang akan dirancang akan menjadi penghubung antara modul sensor dengan mikrokontroler. Mikrokontroler akan membaca masukan dari sensor lalu mengolah masukan tersebut, hasil pengolahan akan ditampilkan pada modul output LCD16x2.
3.3.2 Perangkat Lunak Secara Garis Besar Ketika sistem ini diberi catu daya, mikrokontroler akan mengecek apakah ada masukan dari modul sensor. jika tidak ada masukan maka mikrokontroler tidak akan melakukan operasi apapun dan tidak akan mengubah hasil tampilan dari modul LCD. Jika ada masukan dari sensor , maka mikrokontroler akan mengecek kembali apakah ada masukan dari sensor berikutnya (konfirmasi), jika tidak ada konfirmasi dari sensor berikutnya maka mikrokontroler tidak akan melakukan
Universitas Sumatera Utara
operasi apapun dan tidak akan mengubah hasil tampilan dari modul LCD. Dan apabila ada konfirmasi dari sensor berikutnya maka mikrokontroler
akan
menghitungnya sebagai orang yang masuk atau keluar sesuai dengan arah orang tersebut berjalan apakah berjalan masuk menuju ruangan atau berjalan keluar meninggalkan ruangan. Kemudian menampilkan hasil perhitungan ke modul penampil LCD 16x2.
Gambar 3.8 rangkaian keseluruhan J1 merupakan pin untuk LCD. J6 dan J7 merupakan pin untuk tombol reset. J8 merupakan pin untuk programmer chip atmega16. J9, J10, J12, J13 merupakan pin untuk komponen tambahan. J15 merupakan pin untuk sensor 1. J2 merupakan pin untuk sensor 3. J3 merupakan pin untuk sensor 5. J5 merupakan pin untuk sensor 7. J16 merupakan pin untuk sensor 2. J17 merupakan pin untuk sensor 4. J18 merupakan pin untuk sensor 6. J19 merupakan pin untuk sensor 8.
Universitas Sumatera Utara
J11 merupakan pin untuk regulator tegangan.
Pada awal perancangan perangkat lunak menggunakan CodeVision AVR, terlebih dahulu diperlukan konfigurasi untuk jenis mikrokontroler, beserta nilai clock yang digunakan, kemudian juga diperlukan konfigurasi port mikrokontroler dan konfigurasi untuk fitur – fitur yang akan digunakan seperti LCD. Untuk konfigurasi
tersebut,
CodeVisionAVR
menyediakan
fitur
khusus
untuk
konfigurasi nilai – nilai ataupun modus apa yang diperlukan dalam pemrograman sehingga sangat memudahkan pengguna dalam menggunakan fitur – fitur yang terdapat dalam AVR tersebut. Gambar 3.9 menunjukkan konfigurasi yang dilakukan menggunakan CodeWizardAVR. Penentuan dari nilai – nilai yang ditentukan pada fitur yang digunakan akan dibahas pada sub-bagian masing – masing topik.
Universitas Sumatera Utara
Gambar 3.9 Konfigurasi Fitur Menggunakan CodeWizardAVR
3.3.3 Program awal Pada awal program, setelah mikrokontroler telah melakukan inisialisasi variabel, maka mikrokontroler akan mengecek apakah ada masukan dari sensor, jika tidak ada maka mikrokontroler akan menampilkan “masuk
0 keluar
0”.
Listing programnya adalah sebagai berikut:
while (1) { deteksi_sensor();
Universitas Sumatera Utara
tampil_lcd(); };
Pada program di atas, sub program deteksi_sensor berfungsi untuk mengecek apakah ada masukan dari sensor. Jika tidak ada masukan dari sensor, maka mikrokontroler akan menampilkan nilai awal dari variabel yaitu 0 pada modul LCD.
3.3.4 Program untuk menghitung satu orang masuk Pada bagian ini Setelah ada masukan dari sensor kiri (sensor satu, sensor tiga) atau masukan dari sensor tengah (sensor tiga, sensor lima) atau sensor kanan (sensor lima, sensor tujuh), maka mikrokontroler akan mengecek apakah ada konfirmasi berupa masukan dari sensor berikutnya. Jika ada konfirmasi dari sensor berikutnya maka mikrokontroler akan mencacah naik sebanyak satu kali menghitungnya sebagai orang yang masuk. Jika tidak ada konfirmasi maka mikrokontroler tidak akan melakukan operasi apapun. Listing programnya adalah sebagai berikut:
if((PINA==0x03 || PINA==0x06 || PINA==0x0c) && PINC==0 ) {
int n; ulang_masuk: if((PINC==0x03 || PINC==0x06 || PINC==0x0c) && PINA==0) { data_masuk++; while(PINC!=0){};
// tunggu sampai Port C = 0
return(data_masuk); } delayms(1000ms); n=n+1; while(n==3){goto utama} goto ulang_masuk; }
Universitas Sumatera Utara
3.3.5 Program untuk menghitung satu orang keluar Pada bagian ini Setelah ada masukan dari sensor kiri (sensor dua, sensor empat) atau masukan dari sensor tengah (sensor empat, sensor enam) atau sensor kanan (sensor enam, sensor delapan), maka mikrokontroler akan mengecek apakah ada konfirmasi berupa masukan dari sensor berikutnya. Jika ada konfirmasi dari sensor berikutnya maka mikrokontroler akan mencacah naik sebanyak satu kali menghitungnya sebagai orang yang keluar. Jika tidak ada konfirmasi maka mikrokontroler tidak akan melakukan operasi apapun. Listing programnya adalah sebagai berikut:
if((PINC==0x03 || PINC==0x06 || PINC==0x0c) && PINA==0 ) {
int n; ulang_keluar: if((PINA==0x03 || PINA==0x06 || PINA==0x0c) && PINC==0) { data_keluar++; while(PINA!=0){};
// tunggu sampai Port A = 0
return(data_keluar); } delayms(1000ms) n=n+1; while(n==3){goto utama} goto ulang_keluar; }
3.3.6 Program untuk menghitung dua orang masuk Proses ini akan dilaksanakan dengan keadaan dua orang yang hendak masuk berjalan secara bersamaan. Pada bagian ini Setelah ada masukan dari empat sensor yaitu sensor satu, sensor tiga, sensor lima, sensor tujuh maka mikrokontroler akan mengecek apakah ada konfirmasi berupa masukan dari
Universitas Sumatera Utara
sensor dua, sensor empat, sensor enam, sensor delapan. Jika ada konfirmasi dari keempat sensor berikutnya maka mikrokontroler akan mencacah naik sebanyak dua kali dan menghitungnya sebagai orang yang masuk. Jika tidak ada konfirmasi maka mikrokontroler tidak akan melakukan operasi apapun. Listing programnya adalah sebagai berikut:
if(PINA==0x0f && PINC==0 ) {
int n; ulang_masuk2: if(PINC==0x0f && PINA==0) { data_masuk++; data_masuk++; while(PINC!=0){}; // tunggu sampai Port C = 0 return(data_masuk); } delayms(1000ms); n=n+1; while(n==3){goto utama} goto ulang_masuk2;
}
3.3.7 Program untuk menghitung dua orang keluar Proses ini akan dilaksanakan dengan keadaan dua orang yang hendak keluar berjalan secara bersamaan. Pada bagian ini Setelah ada masukan dari empat sensor yaitu sensor dua, sensor empat, sensor enam, sensor delapan maka mikrokontroler akan mengecek apakah ada konfirmasi berupa masukan dari sensor satu, sensor tiga, sensor lima, sensor tujuh. Jika ada konfirmasi dari keempat sensor berikutnya maka mikrokontroler akan mencacah naik sebanyak dua kali dan menghitungnya sebagai orang yang keluar. Jika tidak ada konfirmasi
Universitas Sumatera Utara
maka mikrokontroler tidak akan melakukan operasi apapun. Listing programnya adalah sebagai berikut:
if(PINC==0x0f && PINA==0 ) {
int n; ulang_keluar2: if(PINA==0x0f && PINC==0) { data_ keluar ++; data_ keluar ++; while(PINA!=0){}; // tunggu sampai Port A = 0 return(data_ keluar); } delayms(1000ms); n=n+1; while(n==3){goto utama} goto ulang_keluar2;
}
Universitas Sumatera Utara
BAB IV PENGUJIAN DAN ANALISA 4.1 Metode Pengujian Di dalam bab ini dilakukan pengujian terhadap rancangan sistem gerbang penghitung berbasis mikrokontroler ATMEGA16. Pengujian - pengujian yang dilakukan pada rancangan alat ini bertujuan untuk mengetahui kinerja dan proses kerja dari rangkaian- rangkaian yang diuji serta sistem secara keseluruhan apakah telah bekerja sesuai dengan yang diharapkan atau tidak. Pengujian pada rancangan alat ini akan dilakukan per bagian rancangan sehingga diketahui apakah masing–masing perangkat keras dan perangkat lunak sudah bekerja dengan baik. 4.2 Pengujian LCD Pengujian LCD dilakukan bertujuan untuk mengetahui apakah LCD sudah bekerja sehingga dapat menampilkan karakter sesuai dengan yang diharapkan. Pengujian LCD dilakukan dengan memprogram karakter atau tulisan yang ingin ditampilkan dan kemudian dicocokan dengan tampilan yang ada pada layar LCD tersebut. Berikut ini merupaka potongan listing program pengujian LCD:
lcd_init(16); lcd_gotoxy(0,0); lcd_putsf("Selamat Datang..."); delay_ms(1000);
Program tersebut akan meletakkan kursor pada awal LCD dan kemudian menampilkan tulisan Selamat Datang pada LCD seperti yang terlihat pada Gambar 4.1
Universitas Sumatera Utara
Gambar 4.1Tampilan pengujian LCD
4.3 Pengujian modul sensor Pengujian modul sensor dilakukan bertujuan untuk mengetahui apakah modul sensor sudah bekerja dengan baik atau tidak. Pengujian modul sensor dilakukan
dengan
memprogram
mikrokontroler
agar
mikrokontroler
menghidupkan led pada saat ada penghalang diantara transceiver dan receiver. Berikut ini merupakan potongan listing program pengujian modul sensor :
void uji_sensor () { if ( PINA.0==0 || PINA.1==0 || PINA.2==0 || PINA.3==0 || PINC.0==0 || PINC.1==0 || PINC.2==0 || PINC.3==0 ) {PORTD.0 = 0; }
Universitas Sumatera Utara
Program tersebut akan menghidupkan LED pada saat ada penghalang diantara transceiver dan receiver.
4.4 Pengujian keseluruhan Pengujian keseluruhan rangkaian dilakukan dengan menggabungkan semua bagian-bagian yang diperlukan sesuai dengan rancangan rangkaian yang dilakukan dan juga sesuai dengan program yang terdapat dalam mikrokontroler. Setelah semua bagian telah terhubung dan diberi catu daya, mikrokontroler akan terus mengecek apakah ada masukan dari sensor, jika tidak ada maka mikrokontroler akan menampilkan tulisan “masuk 0 keluar 0” pada layar LCD. Skenario pertama, pengujian dilakukan dengan keadaan orang hendak berjalan masuk, yang melewati sensor satu dan sensor tiga lalu melewati sensor dua dan sensor empat. Ketika mikrokontroler menerima masukan ini maka mikrokontroler akan mencacah naik sebanyak satu kali dan menghitungnya sebagai orang yang masuk, kemudian menampilkan “masuk 1 keluar 0” pada layar LCD. Skenario kedua, pengujian dilakukan dengan keadaan orang hendak berjalan keluar, yang melewati sensor dua dan sensor empat lalu melewati sensor satu dan sensor tiga. Ketika mikrokontroler menerima masukan ini maka mikrokontroler akan mencacah naik sebanyak satu kali dan menghitungnya sebagai orang yang keluar, kemudian menampilkan “masuk 1 keluar 1” pada layar LCD. Skenario ketiga, Pengujian dilakukan dengan keadaan dua orang berjalan masuk secara bersamaan, yang melewati sensor satu, sensor tiga, sensor lima, sensor tujuh lalu melewati sensor dua, sensor empat, sensor enam, sensor delapan, Ketika mikrokontroler menerima masukan ini maka mikrokontroler akan mencacah naik sebanyak dua kali dan menghitungnya sebagai dua orang yang masuk, kemudian menampilkan “masuk 3 keluar 1” pada layar LCD. Skenario keempat, Pengujian dilakukan dengan keadaan dua orang berjalan keluar secara bersamaan, yang melewati sensor dua, sensor empat, sensor enam, sensor delapan lalu melewati sensor satu, sensor tiga, sensor lima, sensor tujuh, Ketika mikrokontroler menerima masukan ini maka mikrokontroler akan
Universitas Sumatera Utara
mencacah naik sebanyak dua kali dan menghitungnya sebagai dua orang yang keluar, kemudian menampilkan “masuk 3 keluar 3” pada layar LCD. Skenario kelima, Pengujian dilakukan dengan keadaan dua orang berjalan dengan arah yang berlawanan, satu orang hendak masuk dan satu orang hendak keluar, orang yang hendak masuk akan melewati sensor satu, sensor tiga kemudian orang yang hendak keluar akan melewati sensor enam, sensor delapan, maka mikrokontroler akan mencacah naik sebanyak satu kali dan menghitungnya sebagai orang yang masuk, sewaktu orang yang masuk melewati sensor dua, sensor empat dan orang yang keluar melewati sensor lima, sensor tujuh maka mikrokontroler akan mencacah naik sebanyak satu kali dan menghitungnya sebagai orang yang keluar, kemudian menampilkan “masuk 4 keluar 4” pada layar LCD.
Universitas Sumatera Utara
BAB V KESIMPULAN DAN SARAN 5.1 Kesimpulan Berdasarkan pembahasan pada bab-bab sebelumnya maka dapat diambil kesimpulan sebagai berikut: 1. Dua buah modul sensor yang dipasang berpasangan secara paralel (di kiri atau kanan) berfungsi untuk mendeteksi satu orang. 2. Empat buah modul sensor yang dipasang secara paralel ( di kiri atau kanan ) dapat meningkatkan akurasi perhitungan apabila dua orang berjalan secara bersamaan. 3. Dua buah modul sensor yang dipasang secara seri (di depan atau di belakang) berfungsi untuk menghitung objek sebagai orang yang masuk atau keluar. 4. Penggunaan sistem ini lebih hemat dan efisien karena hanya perlu di terapkan pada satu jalur (jalur masuk atau jalur keluar).
5.2 Saran Untuk meningkatkan kinerja dari alat ini sebaiknya diarahkan pada hal-hal berikut: 1. Penggunaan modul sensor yang lebih berkualitas dapat meningkatkan akurasi pendeteksian objek. 2. Penambahan modul sensor secara paralel ( di kiri atau kanan ) untuk jalur yang lebih lebar. 3. Sistem ini dapat diaplikasikan dengan alat-alat elektronik seperti lampu otomatis, palang otomatis dan lain sebagainya.
Universitas Sumatera Utara