• Tidak ada hasil yang ditemukan

MODUL PRAKTIKUM DASAR MIKROPROSESOR. Disusun Oleh: Asisten Laboratorium Instrumentasi. Nama NPM

N/A
N/A
Protected

Academic year: 2021

Membagikan "MODUL PRAKTIKUM DASAR MIKROPROSESOR. Disusun Oleh: Asisten Laboratorium Instrumentasi. Nama NPM"

Copied!
59
0
0

Teks penuh

(1)

i

MODUL PRAKTIKUM DASAR MIKROPROSESOR

Disusun Oleh:

Asisten Laboratorium Instrumentasi

Nama

NPM

LABORATORIUM INSTRUMENTASI

JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK

UNIVERSITAS SULTAN AGENG TIRTAYASA

(2)

ii

STRUKTUR

LABORATORIUM INSTRUMENTASI

Kepala Laboratorium Teknik Elektro

Dr. Romi Wiryadinata, M.Eng

Kepala Laboratorium Instumentasi

Rocky Alfanz S.T., M.Sc

Laboran Laboratorium Teknik Elektro

Eirin Rismawan, A.Md

Koordinator Laboratorium Instrumentasi

David Abraham

Asisten Laboratorium Instrumentasi

Damar Prasetyo Dwi Rahmat Aryanto Dzulfiqar Dwi Yantoo

(3)

iii

PERATURAN PRAKTIKUM

1. FORMAT PENULISAN LAPORAN

a. Margin : Top = 4 cm, Bottom = 3 cm Left = 4 cm, Right = 3cm

b. Kertas A4

c. Judul Times New Roman 14 Pt, Bold d. talic untuk penggunaan bahasa inggris

e. Isi Times New 12 Pt text-align justify

f. Spasi 1,5 tidak ada space setelah dan sebelum paragraf g. Gambar

Gambar 1 Stabilitas Relatif

Gambar dan nama gambar harus proporsional, jelas dengan ukuran yang tidak berlebihan, letak center, diberikan sumber referensi dari mana diperoleh gambar tersebut, berlaku untuk persamaan, dan bunyi hukum h. Setiap bab berisi

BAB I MEDOTODOGI PENELITIAN

Berisi langkah kerja atau prosedur percobaan pada saat praktikum minimal 2 lembar.

BAB II TUGAS

Berisi tugas pendahuluan, tambahan, dan modul minimal 2 lembar. BAB III ANALISIS

(4)

iv

Berisi analisis atau penjelasan praktikum yang dilakukan didasari teori yang berasal dari sumber yang terpercayaminimal 3 lembar.

BAB IV PENUTUP

Berisi kesimpulan dari percobaan yang dilakukan, merupakan jawaban dari tujuan pada saat praktikum minimal 1 lembar.

DAFTAR PUSTAKA

Berisi daftar rujukan atau pustaka yang telah digunakanpada laporan praktikum. Rujukan yang diperbolehkan meliputi jurnal ilmiah, prosiding seminar, textbook, majalah ilmiah dan sumber lain yang dapat dipertanggungjawabkan.Adapun tata cara penulisan referensi tergantung pada style penulisan sitasi yang digunakan.

1) Bagi yang menggunakan style APA

Feit, S. (1998). TCP/IP: architecture, protocols, and implementation with IPv6 and IP security. United States of America: The McGraw-Hill Companies, Inc.

Jin, H.-W., and Yoo, C. (2007). Impact of Protocol Overheads on Network Throughput Over High-Speed Interconnects: Measurement, Analysis, and Improvement. The Journal of Supercomputing. Vol. 41, No. 1, pp. 17 – 40.

Hens, F. J. (2006). Copper vs. Fibre: The Dilemma of the Access Network. Tersedia dari : http://www.trendcomms.com. [URL dikunjungi pada 18 Oktober 2009]

2) Bagi yang menggunakan style numbered (angka)

1. Feit, S., TCP/IP : architecture, protocols, and implementation with IPv6 and IP security. 1998, United States of America: The McGraw-Hill Companies, Inc.

2. Jin, H.-W., & Yoo, C. Impact of Protocol Overheads on Network Throughput Over High-Speed Interconnects: Measurement, Analysis, and Improvement. The Journal of Supercomputing. 2007. Vol. 41, No. 1, pp. 17 – 40.

(5)

v

3. Hens, F. J. Copper vs. Fibre: The Dilemma of the Access Network. 2009. Tersedia dari : http://www.trendcomms.com. [URL dikunjungi pada 18 Maret 2016]

i. Softcopy laporan di kirimkan ke email lab.instrumentasi.jte@gmail.com maksimal seminggu setelah praktikum. Apabila laporan tidak sesuai dengan format ataupun waktu yang telah diberikan maka akan diberikan pengurangan nilai ataupun laporan tidak diterima.

j. Laporan dikirimkan melalui email dengan subjek: [DASMIK][Kode][Modul] nama praktikan.

Contoh :[DASMIK][DA][2] Mad Dog Kode: [DA] untuk David Abraham

[MP] untuk Muhammad Prayogi [DR] untuk Dwi Rahmat

[DP] untuk Damar Prasetyo [DD] untuk Dzulfiqar Dwiyanto

2. TATA TERTIB PRAKTIKUM

a. Waktu toleransi praktikum 10 menit keterlambatan jika melebihi dari waktu toleransi maka praktikan di wajibkan melakukan INHAL.

b. Menggunakan PDH HME (rapih dan sopan)

c. Modul praktikum di print dan dibawa saat praktikum dilaksanakan.

d. Wajib membawa laptop yang telah di install software pendukung sesuai dengan instruksi asisten dan kebutuhan praktikum (jika dibutuhkan)

e. Tidak ada pergantian jadwal praktikum. f. Dilarang membawa makanan atau minuman.

g. Tidak membawa senjata tajam dan menciptakan keributan.

3. INHAL

Dilakukan apabila praktikan tidak dapat melaksanakan praktikum sesuai dengan jadwal atau melanggar tata tertib praktikum, syarat dan ketentuan:

a. Maksimal INHAL 2 Modul praktikum apabila lebih, maka nilai praktikum maksimal D

(6)

vi

b. Pelaksanaan inhal pengganti dilakukan setelah praktikum selesai atau dijadwalkan berikutnya oleh asisten.

4. PRESENTASI TUGAS AKHIR

Merupakan ujian yang bersifat aplikatif dari materi yang telah dipraktikkan, setiap kelompok mempresentasikan sebuah program dalam bentuk aplikasi serta mendemonstrasikannya.

5. RESPONSI

Merupakan review dari awal sampai dengan akhir praktikum dalam bentuk test tertulis yang dilaksanakan setelah selesai praktikum. Bagi yang tidak mengikuti responsi maka praktikan dianggap gugur atau tidak mengikuti praktikum tersebut dan nilai maksimal yang diberikan D.

6. JADWAL PRAKTIKUM

a. Waktu yang diberikan sesuai dengan hari kerja (senin s/d jumat) b. Batas jam yang diberikan dari jam 8.00 sampai dengan 21.00

c. Jadwal diberikan sesuai dengan kesepakatan antara asisten dan praktikan, selama tidak mengganggu jam kuliah.

(7)

vii

KATA PENGANTAR

Puji syukur ke hadirat Tuhan YME, Modul Dasar Mikroprosesor ini dapat diselesaikan sebelum masa praktikum dimulai. Dengan demikian, pelatihan asisten sudah dapat menggunakan modul dalam bentuk yang sama dengan modul yang akan digunakan praktikan.

Pada kesempatan ini, penulis ingin menyampaikan terima kasih yang besar-besarnya pada semua pihak yang telah terlibat dalam penyusunan petunjuk praktikum ini.

Akhir kata, semoga semua usaha yang telah dilakukan berkontribusi pada dihasilkannya lulusan Program Studi Teknik Elektro sebagai engineer dengan standar internasional.

(8)

viii

DAFTAT ISI

HALAMAN JUDUL ... i

STRUKTUR LABORATORIUM INSTRUMENTASI ... ii

PERATURAN PRAKTIKUM ... iii

KATA PENGANTAR ... vii

DAFTAR ISI ... viii

PRAKTIKUM 1 FLIP-FLOP ... 1

PRAKTIKUM 2 BELL (PUSHBUTTON DAN BUZZER) ... 6

PRAKTIKUM 3 KEY TONE ... 12

PRAKTIKUM 4 COUNTER UP (7 SEGMENT) ... 17

PRAKTIKUM 5 NUMBER KEY (7 SEGMENT) ... 23

PRAKTIKUM 6 NUMBER KEY (LCD) ... 29 PRAKTIKUM 7 COUNTER UP (LCD) ... 36 PRAKTIKUM 8 WATER LEVEL ... 42 FORM PENILAIAN ... 51

(9)

1

PRAKTIKUM 1 FLIP-FLOP

A. TUJUAN PERCOBAAN

1) Mengetahui cara mengatur port yang akan digunakan sebagai output. 2) Mengetahui cara memanggil dan menggunakan library.

3) Menganalisa program filp-flop LED.

B. ALAT YANG DIGUNAKAN

1) 1 Unit komputer 2) Software CoSmart 3) Software CoIDE

4) 1 Unit modul NUVOTON Nu-LB-NUC140 V2.0 5) Kabel mini USB

C. DASAR TEORI

LED (Light Emitting Dioda) adalah dioda yang dapat memancarkan cahaya pada saat mendapat arus bias maju (forward bias). LED (Light Emitting Dioda) dapat memancarkan cahaya karena menggunakan dopping galium, arsenic dan phosporus. Jenis doping yang berbeda dapat menghasilkan cahaya dengan warna yang berbeda. LED (Light Emitting Dioda) merupakann salah satu jenis dioda, sehingga hanya akan mengalirkan arus listrik satu arah saja. LED akan memancarkan cahaya apabil diberikan tegangan listrik dengan konfigurasi forward bias. Berbeda dengan dioda pada umumnya, kemampuan mengalirkan arus pada LED (Light Emitting Dioda) cukup rendah yaitu maksimal 20 mA. Apabila LED (Light Emitting Dioda) dialiri arus lebih besar dari 20 mA maka LED akan rusak, sehingga pada rangkaian LED dipasang sebuah resistor sebgai pembatas arus. Simbol dan bentuk fisik dari LED (Light Emitting Dioda) dapat dilihat pada gambar berikut :

(10)

2

Gambar 1.1 LED

Pustaka (seringkali dirujuk sebagai library), adalah kumpulan fungsi-fungsi yang terkandung dalam satu file, Setiap file pustaka mempunyai satu

Header file yang menyimpan cetak biru dari fungsi-fungsi yang terkandung dalam

file pustaka. Berikut contoh penulisan listing program untuk memanggil library input dan output.

LED pada rangkaian hardware adalah digital output yang bersifat

ACTIVE LOW, yaitu menyala jika diberi logika LOW, dan mati jika diberikan logika HIGH.

• Untuk memberikan logika HIGH gunakan perintah berikut:

DrvGPIO_SetBit(Nama_port, Nomor_pin);

• Untuk memberikan logika LOW gunakan perintah berikut:

DrvGPIO_ClrBit(Nama_port, Nomor_pin);

• Untuk membuat delay bisa menggunakan perintah berikut:

DrvSys_Delay(Lama_delay_dalam_cycle);

• Untuk bisa menggunakan perintah di atas, perlu memasukkan library

#include “DrvGPIO.h“ #include “DrvSYS.h”

(11)

3

Nama_port diisi E_GPA / E_GPB / E_GPC / E_GPD / E_GPE. Dalam hal ini karena LED dihubungkan ke PORT C maka isi dengan E_GPC.

Nomor_pin diisi dengan angka pin kaki mikrokontroler. Dalam hal ini empat buah LED sudah dihubungkan ke pin 12 s/d 15.

D. PROSEDUR PERCOBAAN Langkah ke 1: Pilih Chip

1) Panggil aplikasi CooCox Software > CoSmart dari Start Menu untuk membantu konfigurasi pin.

2) Klik tombol New Chip di tengah layar. 3) Pilih Nuvoton, lalu pilih NUC140VE3CN.

4) Akan muncul gambar chip NUC140VE3CN, dengan semua peripheralnya.

Langkah ke 2: Set pin LED

1) Contreng GPIOC pada gambar chip. 2) Di jendela Configuration pilih GPIOC.

3) Di bawahnya, klik pada Pin 12 s/d 15 agar Enable. 4) Scroll ke bawah, atur Pin Config 12 s/d 15:

Mode Control: Output

Langkah ke 3: Generate Project

1) Simpan konfigurasi dengan klik Project > Save lalu pilih folder dan ketikkan nama file, misal konfigurasi01.

2) Lalu klik Generate > Generate CoIDE Project lalu pilih folder dan ketikkan nama project, misal praktikum01.

3) CoSmart akan membuatkan file project dan membukanya otomatis di Windows Explorer.

Langkah ke 4: Buka Project

(12)

4

2) Terlihat bahwa file project sudah disiapkan, klik dua kali pada main.c untuk mulai memprogram. Langkah ke 5: Pemrograman LISTING PROGRAM: #include "DrvGPIO.h" #include "DrvSYS.h" void Init(); int main(void) { Init(); while(1) { DrvGPIO_ClrBit(E_GPC,12); DrvSYS_Delay(1000000); DrvGPIO_SetBit(E_GPC,12); DrvSYS_Delay(1000000); } }

Langkah ke 6: Build dan Download program

1) Klik icon Build (F7) di toolbar untuk melakukan compile program. Pastikan Build Successful, tidak ada error.

2) Klik icon Download Code to Flash di toolbar untuk memasukkan program ke chip. Pastikan Done, tidak ada error.

E. PERTANYAAN DAN TUGAS

1) Sebutkan dan jelaskan apa saja library yang digunakan dan mengapa library

tersebut digunakan.

2) Sebutkan dan jelaskan port apa saja yang digunakan dan mengapa port

tersebut digunakan.

(13)

5

F. BLANGKO PERCOBAAN

Tabel 1.1 Praktikum 1

No Percobaan Keterangan

1

Listing program #include “DrvHPIO.h” dihilangkan lalu build dan download. Jika sudah kembalikan seperti semula.

2

Listing program #include “DrvSYS.h” dihilangkan lalu buil dan download. Jika sudah kembalikan seperti semula.

3

Angka 1000000 pada listing program

DrvSYS_delay(1000000);

Diganti menjadi 500000 lalu build dan download. Lakukan juga dengan angka 100000, 25000 dan 10000.

4

Angka 12 pada listing program DrvGPIO_Clrbit(E_GPC,12); diganti menjadi 13 lalu build dan download. Lakukan juga dengan angka 14, 15 dan 16.

(14)

6

PRAKTIKUM 2

BELL (PUSHBUTTON DAN BUZZER)

A. TUJUAN PERCOBAAN

1) Mengetahui cara mengatur port yang akan digunakan sebagai input dan output.

2) Mengetahui fungsi dan cara kerja if else

3) Menganalisa program Bell (Pushbutton dan Buzzer).

B. ALAT YANG DIGUNAKAN

1) 1 Unit komputer 2) Software CoSmart 3) Software CoIDE

4) 1 Unit modul NUVOTON Nu-LB-NUC140 V2.0 5) Kabel mini USB

C. DASAR TEORI

Pada mikrokontroler terdapat pin-pin yang berfungsi sebagai input atau output, Pin-pin pada mikrikontoler biasanya mempunyai fungsi/kegunaan khusus namun pin tersebut harus diaktifkan terlebih dahulu, jika tidak diaktifkan pin-pin tersebut hanya akan berfugsi sebagai input atau output digital, itupun hanya biner (bernilai 1 atau 0).

Statement if adalah salah satu statement yang digunakan untuk penyeleksian kondisi. Statement ini merupakan statement percabangan paling dasar, jika suatu terpenuhi alias bernilai true maka akan menjalankan tertentu. Dan jika tidak maka tersebut tidak akan dijalankan.

(15)

7

Gambar 2.2 Blok Diagram If

Pushbutton switch pada rangkaian hardware adalah digital input yang

bersifat ACTIVE LOW, yaitu jika ditekan memberikan logika LOW. • Untuk mengambil nilai logika input digital gunakan perintah berikut:

DrvGPIO_GetBit(Nama_port, Nomor_pin);

Keterangan: Nama_port diisi E_GPA / E_GPB / E_GPC / E_GPD /

E_GPE. Dalam hal ini karena Pushbutton switch dihubungkan ke PORT B maka isi dengan E_GPB.

Nomor_pin diisi dengan angka pin kaki mikrokontroler di PORT yang terhubung Pushbutton switch yang ingin dimainkan. Dalam hal ini empat buah Pushbutton switch sudah dihubungkan ke pin 15.

Fungsi DrvGPIO_GetBit menghasilkan nilai 0 jika logika LOW (pushbutton ditekan), atau 1 jika logika HIGH (pushbutton tidak ditekan).

(16)

8

BUZZER pada rangkaian hardware adalah digital output yang bersifat

ACTIVE LOW, yaitu berbunyi jika diberi logika LOW, dan mati jika diberikan logika HIGH.

• Untuk memberikan logika HIGH gunakan perintah berikut:

DrvGPIO_SetBit(Nama_port, Nomor_pin);

• Untuk memberikan logika LOW gunakan perintah berikut:

DrvGPIO_ClrBit(Nama_port, Nomor_pin);

• Untuk membuat delay bisa menggunakan perintah berikut:

DrvSys_Delay(Lama_delay_dalam_cycle);

• Untuk bisa menggunakan perintah di atas, perlu memasukkan library

#include “DrvGPIO.h“ #include “DrvSYS.h”

Nama_port diisi E_GPA / E_GPB / E_GPC / E_GPD / E_GPE. Dalam hal ini karena BUZZER dihubungkan ke PORT B maka isi dengan E_GPB.

Nomor_pin diisi dengan angka pin kaki mikrokontroler. Dalam hal ini BUZZER dihubungkan ke pin 11.

D. PROSEDUR PERCOBAAN Langkah ke 1: Pilih Chip

1) Panggil aplikasi CooCox Software > CoSmart dari Start Menu untuk membantu konfigurasi pin.

2) Klik tombol New Chip di tengah layar. 3) Pilih Nuvoton, lalu pilih NUC140VE3CN

4) Akan muncul gambar chip NUC140VE3CN, dengan semua peripheralnya.

Langkah ke 2: Set Pin Pushbutton

1) Contreng GPIOB pada gambar chip. 2) Di jendela Configuration pilih GPIOB. 3) Di bawahnya, klik pada Pin 15 agar Enable. 4) Scroll ke bawah, atur Pin Config 15:

(17)

9  Digital Input: Enable

 Input Signal Deb: Enable

Langkah ke 3: Set Pin Buzzer

1) Di jendela Configuration pilih GPIOB. 2) Di bawahnya, klik pada Pin 11 agar Enable. 3) Scroll ke bawah, atur Pin Config 11:

 Mode Control: Output

Langkah ke 4: Generate Project

1) Simpan konfigurasi dengan klik Project > Save lalu pilih folder dan ketikkan nama file, misal konfigurasi01.

2) Lalu klik Generate > Generate CoIDE Project lalu pilih folder dan ketikkan nama project, misal praktikum01.

3) CoSmart akan membuatkan file project dan membukanya otomatis di Windows Explorer.

Langkah ke 5: Buka Project

1) Klik dua kali file praktikum01 untuk membuka project dengan CoIDE. 2) Terlihat bahwa file project sudah disiapkan, klik dua kali pada main.c untuk

mulai memprogram. Langkah ke 6: Pemrograman LISTING PROGRAM #include "DrvGPIO.h" #include "DrvSYS.h" void Init(); int main(void) { Init(); while(1) { if(DrvGPIO_GetBit(E_GPB,15)==0) { DrvGPIO_ClrBit(E_GPB,11);

(18)

10 } else { DrvGPIO_SetBit(E_GPB,11); } } }

Langkah ke 6: Build dan Download program

3) Klik icon Build (F7) di toolbar untuk melakukan compile program. Pastikan Build Successful, tidak ada error.

4) Klik icon Download Code to Flash di toolbar untuk memasukkan program ke chip. Pastikan Done, tidak ada error.

E. PERTANYAAN DAN TUGAS

1) Sebutkan dan jelaskan port apa saja yang digunakan dan mengapa port tersebut digunakan.

2) Jelakan fungsi dari if else pada program diatas dan mengapa perintah tersebut digunakan.

3) Jelaskan secara singkat bagaimana program diatas bekerja.

F. BLANGKO PERCOBAAN

Tabel 2.1 Praktikum 2

No Percobaan Keterangan

1 Tekan tombol push button.

2

Fungsi if dihilangkan lalu build dan download kemudian operasikan modul. Jika sudah kembalikan seperti semula.

3

Fungsi else dihilangkan lalu build dan download kemudian operasikan modul. Jika sudah kembalikan seperti semula.

(19)

11 4

Fungsi if dan else dihilangkan lalu build dan download kemudian operasikan modul. Jika sudah kembalikan seperti semula.

5

Angka 15 pada listing program DrvGPIO_GetBit(E_GPB,15) diganti menjadi 14 lalu build dan download kemudian operasikan modul. Lakukan juga dengan angka 16. Jika sudah kembalikan seperti semula.

6

Angka 11 pada listing program DrvGPIO_ClrBit(E_GPB,11); dan

DrvGPIO_SetBit(E_GPB,11); diganti menjadi 10 lalu build dan download kemudian operasikan modul. Lakukan juga dengan angka 12. Jika sudah kembalika seperti semula.

7

Masukkan listing program DrvGPIO_ClrBit(E_GPC,14); didalam fungsi else lalu build dan download kemudian operasikan modul.

(20)

12

PRAKTIKUM 3 KEY TONE

A. TUJUAN PERCOBAAN

1) Memahami cara kerja keypad matrix. 2) Dapat memprogram keypad matrix.

B. ALAT YANG DIGUNAKAN

1) 1 Unit komputer 2) Software CoSmart 3) Software CoIDE

4) 1 Unit modul NUVOTON Nu-LB-NUC140 V2.0 5) Kabel mini USB

C. DASAR TEORI

Keypad matrix di Learning Board menggunakan metode scanning. Proses

scanning dengan cara membaca logic di Row, ketika Column diberikan logic LOW.

Jika tombol ditekan maka Column dan Row yang bersesuaian menjadi terhubung, sehingga Row ikut menjadi LOW

• Untuk membaca penekanan keypad, bisa menggunakan perintah berikut:

Scankey();

• Untuk bisa menggunakan perintah di atas, perlu memasukkan library

#include “ScanKey.h“

• Untuk menampung hasil pembacaan keypad, ada baiknya membuat suatu variabel, misal bernama Key bertipe data integer:

int key;

Hasil pembacaan adalah 0 jika tidak ada yang ditekan, atau berupa angka 1 s/d 9 jika ada yang ditekan.

(21)

13

BUZZER pada rangkaian hardware adalah digital output yang bersifat

ACTIVE LOW, yaitu berbunyi jika diberi logika LOW, dan mati jika diberikan logika HIGH.

• Untuk memberikan logika HIGH gunakan perintah berikut:

DrvGPIO_SetBit(Nama_port, Nomor_pin);

• Untuk memberikan logika LOW gunakan perintah berikut:

DrvGPIO_ClrBit(Nama_port, Nomor_pin);

• Untuk membuat delay bisa menggunakan perintah berikut:

DrvSys_Delay(Lama_delay_dalam_cycle);

• Untuk bisa menggunakan perintah di atas, perlu memasukkan library

#include “DrvGPIO.h“ #include “DrvSYS.h”

Nama_port diisi E_GPA / E_GPB / E_GPC / E_GPD / E_GPE. Dalam hal ini karena BUZZER dihubungkan ke PORT B maka isi dengan E_GPB.

Nomor_pin diisi dengan angka pin kaki mikrokontroler. Dalam hal ini BUZZER dihubungkan ke pin 11.

D. PROSEDUR PERCOBAAN Langkah ke 1: Pilih Chip

5) Panggil aplikasi CooCox Software > CoSmart dari Start Menu untuk membantu konfigurasi pin.

6) Klik tombol New Chip di tengah layar. 7) Pilih Nuvoton, lalu pilih NUC140VE3CN

8) Akan muncul gambar chip NUC140VE3CN, dengan semua peripheralnya.

Langkah ke 2: Set Pin Keypad

1) Contreng GPIOA pada gambar chip. 2) Di jendela Configuration pilih GPIOA.

(22)

14

Langkah ke 3: Set Pin Buzzer

1) Di jendela Configuration pilih GPIOB. 2) Di bawahnya, klik pada Pin 11 agar Enable. 3) Scroll ke bawah, atur Pin Config 11:

 Mode Control: Output

Langkah ke 4: Generate Project

1) Simpan konfigurasi dengan klik Project > Save lalu pilih folder dan ketikkan nama file, misal konfigurasi01.

2) Lalu klik Generate > Generate CoIDE Project lalu pilih folder dan ketikkan nama project, misal praktikum01.

3) CoSmart akan membuatkan file project dan membukanya otomatis di Windows Explorer.

Langkah ke 5: Buka Project

1) Klik dua kali file praktikum01 untuk membuka project dengan CoIDE.

2) Terlihat bahwa file project sudah disiapkan, klik dua kali pada main.c untuk mulai memprogram.

Langkah ke 6: Pemrograman

Nuvoton telah menyediakan Board Support Package (yang sudah di-instal) yang berisi banyak library yang dapat mempermudah kita memprogram object-object di Learning Board.

 Untuk keypad kita bisa coba pakai library dari BSP.

Langkah 1:

Klik kanan di cmsis_lib\Include \Driver, lalu pilih Add Files. Browseke C:\Nuvoton\BSPLibrary\NUC100SeriesBSP\NuvPlatform_Keil

\Include\NUC1xx-LB_002 Pilih file ScanKey.h

(23)

15

Langkah 2:

Klik kanan di cmsis_lib\Src \Driver, lalu pilih Add Files. Browse ke C:\Nuvoton \BSP Library \NUC100SeriesBSP\NuvPlatform_Keil \Src \NUC1xx-LB_002

Pilih file ScanKey.c

LISTING PROGRAM: #include "DrvGPIO.h" #include "DrvSYS.h" #include "ScanKey.h" int key; void Init(); int main(void) { Init(); while(1) { key=Scankey(); if(key!=0) { DrvGPIO_ClrBit(E_GPB,11); } else { DrvGPIO_SetBit(E_GPB,11); } } }

Langkah ke 7: Build dan Download program

5) Klik icon Build (F7) di toolbar untuk melakukan compile program. Pastikan Build Successful, tidak ada error.

6) Klik icon Download Code to Flash di toolbar untuk memasukkan program ke chip. Pastikan Done, tidak ada error.

E. PERTANYAAN DAN TUGAS

1) Gambarkan rangkaian Keypad matrix !

(24)

16

F. BLANGKO PERCOBAAN

Tabel 3.1 Praktikum 3

No Percobaan Keterangan

1 Tekan satu persatu kesembilan tombol tombol keypad matrik. 2 Tekan tombol push button.

3

Listing program #include “ScanKey.h” dihilangkan lalu build dan download kemudian operasikan modul. Jika sudah kembalikan seperti semula.

4

Masukkan listing program DrvGPIO_ClrBit(E_GPC,13); didalam fungsi if dan DrvGPIO_SetBit(E_GPC,13); didalam fungsi else lalu build dan download kemudian operasikan modul.

5

Fungsi while dihilangkan lalu build dan download kemudian operasikan modul. Jika sudah kembalikan seperti semula.

6

Letak listing program DrvGPIO_ClrBit(E_GPB,11); dan

DrvGPIO_SetBit(E_GPB,11); ditukar lalu build dan download kemudian operasikan modul. Jika sudah kembalikan seperti semula.

(25)

17

PRAKTIKUM 4

COUNTER UP (7 SEGMENT)

A. TUJUAN PERCOBAAN

1) Mengetahui apa itu Identifier (Pengenal) pada pemrograman. 2) Mengetahui cara kerja 7-segment pada modul.

3) Menganalisa program COUNTER UP (7 SEGMENT)

B. ALAT YANG DIGUNAKAN

1) 1 Unit komputer 2) Software CoSmart 3) Software CoIDE

4) 1 Unit modul NUVOTON Nu-LB-NUC140 V2.0 5) Kabel mini USB

C. DASAR TEORI

Pushbutton switch pada rangkaian hardware adalah digital input yang

bersifat ACTIVE LOW, yaitu jika ditekan memberikan logika LOW. • Untuk mengambil nilai logika input digital gunakan perintah berikut:

DrvGPIO_GetBit(Nama_port, Nomor_pin);

Keterangan: Nama_port diisi E_GPA / E_GPB / E_GPC / E_GPD /

E_GPE. Dalam hal ini karena Pushbutton switch dihubungkan ke PORT B maka isi dengan E_GPB.

Nomor_pin diisi dengan angka pin kaki mikrokontroler di PORT yang terhubung Pushbutton switch yang ingin dimainkan. Dalam hal ini empat buah Pushbutton switch sudah dihubungkan ke pin 15.

Fungsi DrvGPIO_GetBit menghasilkan nilai 0 jika logika LOW (pushbutton ditekan), atau 1 jika logika HIGH (pushbutton tidak ditekan).

7-segment display di Learning Board menggunakan metode scanning.

(26)

18

salah satu 7-segment yang dituju diaktifkan, sementara 7-segment lain tidak diaktifkan.

• Untuk menonaktifkan semua 7-segment bisa menggunakan perintah berikut:

close_seven_segment();

• Untuk mengaktifkan dan memberi data salah satu 7-segment, gunakan perintah berikut:

show_seven_segment(Nomor_7segment,Data_angka);

• Untuk bisa menggunakan perintah di atas, perlu memasukkan library

#include “Seven_Segment.h“

Keterangan: Nomor_7segment diisi dengan nomor urut 0-3, dihitung dari

paling kanan. Data_angka diisi dengan angka 0-9.

BUZZER pada rangkaian hardware adalah digital output yang bersifat

ACTIVE LOW, yaitu berbunyi jika diberi logika LOW, dan mati jika diberikan logika HIGH.

• Untuk memberikan logika HIGH gunakan perintah berikut:

DrvGPIO_SetBit(Nama_port, Nomor_pin);

• Untuk memberikan logika LOW gunakan perintah berikut:

DrvGPIO_ClrBit(Nama_port, Nomor_pin);

• Untuk membuat delay bisa menggunakan perintah berikut:

DrvSys_Delay(Lama_delay_dalam_cycle);

• Untuk bisa menggunakan perintah di atas, perlu memasukkan library

#include “DrvGPIO.h“ #include “DrvSYS.h”

Nama_port diisi E_GPA / E_GPB / E_GPC / E_GPD / E_GPE. Dalam hal ini karena BUZZER dihubungkan ke PORT B maka isi dengan E_GPB.

Nomor_pin diisi dengan angka pin kaki mikrokontroler. Dalam hal ini BUZZER dihubungkan ke pin 11.

(27)

19

Langkah ke 1: Pilih Chip

1) Panggil aplikasi CooCox Software > CoSmart dari Start Menu untuk membantu konfigurasi pin.

2) Klik tombol New Chip di tengah layar. 3) Pilih Nuvoton, lalu pilih NUC140VE3CN

4) Akan muncul gambar chip NUC140VE3CN, dengan semua peripheralnya.

Langkah ke 2a: Set Pin 7-Segment Data

1) Contreng GPIOE pada gambar chip. 2) Di jendela Configuration pilih GPIOE

3) Di bawahnya, klik pada Pin 0 s/d 7 agar Enable. 4) Scroll ke bawah, atur Pin Config 0 s/d 7:

 Mode Control: Output

Langkah ke 2b: Set Pin 7-Segment Select

1) Di jendela Configuration pilih GPIOC.

2) Di bawahnya, klik pada Pin 4 s/d 7 agar Enable. 3) Scroll ke bawah, atur Pin Config 4 s/d 7:

 Mode Control: Output

Langkah ke 3: Set Pin Pushbutton

1) Contreng GPIOB pada gambar chip. 2) Di jendela Configuration pilih GPIOB. 3) Di bawahnya, klik pada Pin 15 agar Enable. 4) Scroll ke bawah, atur Pin Config 15:

 Mode Control: Input  Digital Input: Enable  Input Signal Deb: Enable

Langkah ke 4: Set Pin Buzzer

1) Di jendela Configuration pilih GPIOB. 2) Di bawahnya, klik pada Pin 11 agar Enable.

(28)

20 3) Scroll ke bawah, atur Pin Config 11:  Mode Control: Output

Langkah ke 5: Generate Project

1) Simpan konfigurasi dengan klik Project > Save lalu pilih folder dan ketikkan nama file, misal konfigurasi01.

2) Lalu klik Generate > Generate CoIDE Project lalu pilih folder dan ketikkan nama project, misal praktikum01.

3) CoSmart akan membuatkan file project dan membukanya otomatis di Windows Explorer.

Langkah ke 6: Buka Project

1) Klik dua kali file praktikum01 untuk membuka project dengan CoIDE.

2) Terlihat bahwa file project sudah disiapkan, klik dua kali pada main.c untuk mulai memprogram.

Langkah ke 7: Pemrograman

Nuvoton telah menyediakan Board Support Package (yang sudah di-instal) yang berisi banyak library yang dapat mempermudah kita memprogram object-object di Learning Board.

 Untuk 7-segment kita bisa coba pakai library dari BSP.

Langkah 1:

Klik kanan di cmsis_lib\Include \Driver, lalu pilih Add Files. Browse ke C:\Nuvoton \BSP Library \NUC100SeriesBSP\NuvPlatform_Keil \Include \NUC1xx-LB_002

Pilih file Seven_Segment.h

Langkah 2:

Klik kanan di cmsis_lib\Src \Driver, lalu pilih Add Files. Browse ke C:\Nuvoton \BSP Library \NUC100SeriesBSP\NuvPlatform_Keil \Src \NUC1xx-LB_002

(29)

21 Pilih file Seven_Segment.c

LISTING PROGRAM: #include "DrvGPIO.h" #include "DrvSYS.h" #include "Seven_Segment.h" int nilai=0; void Init(); int main(void) { Init(); close_seven_segment(); show_seven_segment(0,nilai); while(1) { DrvGPIO_SetBit(E_GPB,11); if(DrvGPIO_GetBit(E_GPB,15)==0) { DrvGPIO_ClrBit(E_GPB,11); nilai=nilai+1; close_seven_segment(); show_seven_segment(0,nilai); DrvSYS_Delay(1000000); } } }

Langkah ke 8: Build dan Download program

1) Klik icon Build (F7) di toolbar untuk melakukan compile program. Pastikan Build Successful, tidak ada error.

2) Klik icon Download Code to Flash di toolbar untuk memasukkan program ke chip. Pastikan Done, tidak ada error.

E. PERTANYAAN DAN TUGAS

1) Apa yang dimaksud Identifier (Pengenal) dan fungsinga? 2) Jelaskan bagaimana cara kerja dari 7segment pada modul ini?

3) Jelaskan bagaimana program COUNTER UP (7 SEGMENT) ini bekerja

F. BLANGKO PERCOBAAN

Tabel 4.1 Praktikum 4

No Percobaan Keterangan

(30)

22 sebanyak 10 kali.

2

Listing program #include “Seven_Segment.h” dihilangkan lalu build dan download kemudian operasikan modul. Jika sudah kembalikan seperti semula.

3

Identifier (Pengenal) pada listing program int nilai=0; diubah menjadi int hasil=0; lalu build dan download kemudian operasikan modul. Jika sudah kembalikan seperti semula.

4

Identifier (Pengenal) pada listing program int nilai=0; diubah menjadi int nilai=7; lalu build dan download kemudian operasikan modul. Jika sudah kembalikan seperti semula.

5

Listing program nilai = nilai + 1; diubah menjadi nilai = nilai + 2; lalu build dan download kemudian operasikan modul. Jika sudah kembalikan seperti semula.

6

Listing program int nilai=0; diubah menjadi int nilai=9; dan listing program nilai=nilai-1; lalu build dan download kemudian operasikan modul. Jika sudah kembalikan seperti semula.

(31)

23

NUMBER KEY (7 SEGMENT)

A. TUJUAN PERCOBAAN

1) Mengetahui fungsi dan macam-macam tipe data pada pemrograman C. 2) Mengetahui cara menampilkan data yang ada pada keypad matrix ke

7-segment

3) Menganalisa program NUMBER KEY (7 SEGMENT)

B. ALAT YANG DIGUNAKAN

1) 1 Unit komputer 2) Software CoSmart 3) Software CoIDE

4) 1 Unit modul NUVOTON Nu-LB-NUC140 V2.0 5) Kabel mini USB

C. DASAR TEORI

7-segment display di Learning Board menggunakan metode scanning.

Untuk memunculkan angka di salah satu 7-segment maka berikan data selagi salah satu 7-segment yang dituju diaktifkan, sementara 7-segment lain tidak diaktifkan.

• Untuk menonaktifkan semua 7-segment bisa menggunakan perintah berikut:

close_seven_segment();

• Untuk mengaktifkan dan memberi data salah satu 7-segment, gunakan perintah berikut:

show_seven_segment(Nomor_7segment,Data_angka);

• Untuk bisa menggunakan perintah di atas, perlu memasukkan library

#include “Seven_Segment.h“

Keterangan: Nomor_7segment diisi dengan nomor urut 0-3, dihitung dari

(32)

24

Keypad matrix di Learning Board menggunakan metode scanning. Proses

scanning dengan cara membaca logic di Row, ketika Column diberikan logic LOW.

Jika tombol ditekan maka Column dan Row yang bersesuaian menjadi terhubung, sehingga Row ikut menjadi LOW

• Untuk membaca penekanan keypad, bisa menggunakan perintah berikut:

Scankey();

• Untuk bisa menggunakan perintah di atas, perlu memasukkan library

#include “ScanKey.h“

• Untuk menampung hasil pembacaan keypad, ada baiknya membuat suatu variabel, misal bernama Key bertipe data integer:

int key;

Hasil pembacaan adalah 0 jika tidak ada yang ditekan, atau berupa angka 1 s/d 9 jika ada yang ditekan.

BUZZER pada rangkaian hardware adalah digital output yang bersifat

ACTIVE LOW, yaitu berbunyi jika diberi logika LOW, dan mati jika diberikan logika HIGH.

• Untuk memberikan logika HIGH gunakan perintah berikut:

DrvGPIO_SetBit(Nama_port, Nomor_pin);

• Untuk memberikan logika LOW gunakan perintah berikut:

DrvGPIO_ClrBit(Nama_port, Nomor_pin);

• Untuk membuat delay bisa menggunakan perintah berikut:

DrvSys_Delay(Lama_delay_dalam_cycle);

• Untuk bisa menggunakan perintah di atas, perlu memasukkan library

#include “DrvGPIO.h“ #include “DrvSYS.h”

Nama_port diisi E_GPA / E_GPB / E_GPC / E_GPD / E_GPE. Dalam hal ini karena BUZZER dihubungkan ke PORT B maka isi dengan E_GPB.

(33)

25

Nomor_pin diisi dengan angka pin kaki mikrokontroler. Dalam hal ini BUZZER dihubungkan ke pin 11.

D. PROSEDUR PERCOBAAN Langkah ke 1: Pilih Chip

1) Panggil aplikasi CooCox Software > CoSmart dari Start Menu untuk membantu konfigurasi pin.

2) Klik tombol New Chip di tengah layar. 3) Pilih Nuvoton, lalu pilih NUC140VE3CN

4) Akan muncul gambar chip NUC140VE3CN, dengan semua peripheralnya.

Langkah ke 2a: Set Pin 7-Segment Data

1) Contreng GPIOE pada gambar chip. 2) Di jendela Configuration pilih GPIOE

3) Di bawahnya, klik pada Pin 0 s/d 7 agar Enable. 4) Scroll ke bawah, atur Pin Config 0 s/d 7:

 Mode Control: Output

Langkah ke 2b: Set Pin 7-Segment Select

1) Di jendela Configuration pilih GPIOC.

2) Di bawahnya, klik pada Pin 4 s/d 7 agar Enable. 3) Scroll ke bawah, atur Pin Config 4 s/d 7:

 Mode Control: Output

Langkah ke 3: Set Pin Keypad

1) Contreng GPIOA pada gambar chip. 2) Di jendela Configuration pilih GPIOA.

3) Di bawahnya, klik pada Pin 0 s/d 5 agar Enable.

Langkah ke 4: Set Pin Buzzer

1) Di jendela Configuration pilih GPIOB. 2) Di bawahnya, klik pada Pin 11 agar Enable. 3) Scroll ke bawah, atur Pin Config 11:

(34)

26  Mode Control: Output

Langkah ke 5: Generate Project

1) Simpan konfigurasi dengan klik Project > Save lalu pilih folder dan ketikkan nama file, misal konfigurasi01.

2) Lalu klik Generate > Generate CoIDE Project lalu pilih folder dan ketikkan nama project, misal praktikum01.

3) CoSmart akan membuatkan file project dan membukanya otomatis di Windows Explorer.

Langkah ke 6: Buka Project

1) Klik dua kali file praktikum01 untuk membuka project dengan CoIDE.

2) Terlihat bahwa file project sudah disiapkan, klik dua kali pada main.c untuk mulai memprogram.

Langkah ke 7: Pemrograman

Nuvoton telah menyediakan Board Support Package (yang sudah di-instal) yang berisi banyak library yang dapat mempermudah kita memprogram object-object di Learning Board.

 Untuk 7-segment kita bisa coba pakai library dari BSP.

Langkah 1:

Klik kanan di cmsis_lib\Include \Driver, lalu pilih Add Files. Browse ke C:\Nuvoton \BSP Library \NUC100SeriesBSP\NuvPlatform_Keil \Include \NUC1xx-LB_002

Pilih file Seven_Segment.h

Langkah 2:

Klik kanan di cmsis_lib\Src \Driver, lalu pilih Add Files. Browse ke C:\Nuvoton \BSP Library \NUC100SeriesBSP\NuvPlatform_Keil \Src \NUC1xx-LB_002

(35)

27 LISTING PROGRAM: #include "DrvGPIO.h" #include "DrvSYS.h" #include "ScanKey.h" #include "Seven_Segment.h" int key; void Init(); int main(void) { Init(); while(1) { key=Scankey(); DrvGPIO_SetBit(E_GPB,11); if(key!=0) { close_seven_segment(); show_seven_segment(0,key); DrvGPIO_ClrBit(E_GPB,11); } } }

Langkah ke 8: Build dan Download program

1) Klik icon Build (F7) di toolbar untuk melakukan compile program. Pastikan Build Successful, tidak ada error.

2) Klik icon Download Code to Flash di toolbar untuk memasukkan program ke chip. Pastikan Done, tidak ada error.

E. PERTANYAAN DAN TUGAS

1) Gambarkan gambar data sheet rangkaian 7-segment !

2) Buat dan tuliskan, agar ke empat 7-segment pada modul NUVOTON Nu-LB-NUC140 V2.0

F. BLANGKO PERCOBAAN

Tabel 5.1 Praktikum 5

No Percobaan Keterangan

(36)

28 keypad matrix.

2 Tekan tombol push button. 3 Tekan tombol reset.

4

Listing program int key; dihilangkan lalu build dan download kemudian operasikan modul. Jika sudah kembalikan seperti semula.

5

Pada listing program key=Scankey(); diubah menjadi key=Scankey()+7; lalu build dan download kemudian operasikan modul. Jika sudah kembalikan seperti semula.

6

Pada listing program show_seven_segment(0,key);

diubah menjadi

show_seven_segment(1,key); lalu build dan download kemudia operasikan modul. Jika sudah kembalikan seperti semula.

7

Tipe data pada listing program int key; diubah menjadi float key; lalu build dan download kemudian operasikan modul. Jika sudah kembalikan seperti semula.

(37)

29

PRAKTIKUM 6 NUMBER KEY (LCD)

A. TUJUAN PERCOBAAN

1) Mengetahui cara menampilkan karakter pada LCD.

2) Mengetahui cara menampilkan data yang ada pada keypad matrix ke LCD. 3) Menganalisa program NUMBER KEY (LCD)

B. ALAT YANG DIGUNAKAN

1) 1 Unit komputer 2) Software CoSmart 3) Software CoIDE

4) 1 Unit modul NUVOTON Nu-LB-NUC140 V2.0 5) Kabel mini USB

C. DASAR TEORI

Keypad matrix di Learning Board menggunakan metode scanning. Proses

scanning dengan cara membaca logic di Row, ketika Column diberikan logic LOW.

Jika tombol ditekan maka Column dan Row yang bersesuaian menjadi terhubung, sehingga Row ikut menjadi LOW

• Untuk membaca penekanan keypad, bisa menggunakan perintah berikut:

Scankey();

• Untuk bisa menggunakan perintah di atas, perlu memasukkan library

#include “ScanKey.h“

• Untuk menampung hasil pembacaan keypad, ada baiknya membuat suatu variabel, misal bernama Key bertipe data integer:

int key;

Hasil pembacaan adalah 0 jika tidak ada yang ditekan, atau berupa angka 1 s/d 9 jika ada yang ditekan.

(38)

30

BUZZER pada rangkaian hardware adalah digital output yang bersifat

ACTIVE LOW, yaitu berbunyi jika diberi logika LOW, dan mati jika diberikan logika HIGH.

• Untuk memberikan logika HIGH gunakan perintah berikut:

DrvGPIO_SetBit(Nama_port, Nomor_pin);

• Untuk memberikan logika LOW gunakan perintah berikut:

DrvGPIO_ClrBit(Nama_port, Nomor_pin);

• Untuk membuat delay bisa menggunakan perintah berikut:

DrvSys_Delay(Lama_delay_dalam_cycle);

• Untuk bisa menggunakan perintah di atas, perlu memasukkan library

#include “DrvGPIO.h“ #include “DrvSYS.h”

Nama_port diisi E_GPA / E_GPB / E_GPC / E_GPD / E_GPE. Dalam hal ini karena BUZZER dihubungkan ke PORT B maka isi dengan E_GPB.

Nomor_pin diisi dengan angka pin kaki mikrokontroler. Dalam hal ini BUZZER dihubungkan ke pin 11.

LCD Matrix Display pada rangkaian hardware dikontrol secara SPI, dan

memiliki pin kontrol backlight di port D pin 14 yang bersifat ACTIVE LOW, yaitu menyala jika diberi logika LOW, dan mati jika diberikan logika HIGH. • Untuk menulis karakter di LCD, bisa menggunakan perintah berikut:

print_lcd(Nomor_baris,Tulisan);

Show_Word(Nomor_baris,Nomor_kolom,Huruf);

• Untuk bisa menggunakan perintah di atas, perlu memasukkan library

#include “LCD_Driver.h“

• Driver LCD_Driver membutuhkan file Ascii_Table.c untuk menggambar huruf.

• Saat init pertama kali, perlu dipanggil perintah berikut:

Initialize_pannel();

• Untuk membersihkan display, bisa menggunakan perintah berikut:

(39)

31

Keterangan: Nomor_baris diisi angka 0-3, dihitung dari paling atas.

Nomor_kolom diisi angka 0-15, dihitung dari paling kiri.

D. PROSEDUR PERCOBAAN Langkah ke 1: Pilih Chip

1) Panggil aplikasi CooCox Software > CoSmart dari Start Menu untuk membantu konfigurasi pin.

2) Klik tombol New Chip di tengah layar. 3) Pilih Nuvoton, lalu pilih NUC140VE3CN

4) Akan muncul gambar chip NUC140VE3CN, dengan semua peripheralnya.

Langkah ke 2: Set Pin Keypad

1) Contreng GPIOA pada gambar chip. 2) Di jendela Configuration pilih GPIOA.

3) Di bawahnya, klik pada Pin 0 s/d 5 agar Enable.

Langkah ke 3: Set Pin Buzzer

1) Di jendela Configuration pilih GPIOB. 2) Di bawahnya, klik pada Pin 11 agar Enable. 3) Scroll ke bawah, atur Pin Config 11:

 Mode Control: Output

Langkah ke 4a: Set Pin LCD Matrix

1) Contreng SPI3 pada gambar chip untuk mengaktifkan fitur komunikasi SPI ke LCD Matrix.

Langkah ke 4b: Set Pin Backlight

1) Contreng GPIOD pada gambar chip. 2) Di jendela Configuration pilih GPIOD. 3) Di bawahnya, klik pada Pin 14 agar Enable. 4) Scroll ke bawah, atur Pin Config 14:

(40)

32

Langkah ke 5: Generate Project

1) Simpan konfigurasi dengan klik Project > Save lalu pilih folder dan ketikkan nama file, misal konfigurasi01.

2) Lalu klik Generate > Generate CoIDE Project lalu pilih folder dan ketikkan nama project, misal praktikum01.

3) CoSmart akan membuatkan file project dan membukanya otomatis di Windows Explorer.

Langkah ke 6: Buka Project

1) Klik dua kali file praktikum01 untuk membuka project dengan CoIDE.

2) Terlihat bahwa file project sudah disiapkan, klik dua kali pada main.c untuk mulai memprogram.

Langkah ke 7: Pemrograman

Nuvoton telah menyediakan Board Support Package (yang sudah di-instal) yang berisi banyak library yang dapat mempermudah kita memprogram object-object di Learning Board.

 Untuk keypad kita bisa coba pakai library dari BSP.

Langkah 1:

Klik kanan di cmsis_lib\Include \Driver, lalu pilih Add Files. Browse ke C:\Nuvoton \BSPLibrary \NUC100SeriesBSP \NuvPlatform_Keil \Include \NUC1xx-LB_002

Pilih file ScanKey.h

Langkah 2:

Klik kanan di cmsis_lib\Src \Driver, lalu pilih Add Files. Browse ke C:\Nuvoton \BSP Library \NUC100SeriesBSP\NuvPlatform_Keil \Src \NUC1xx-LB_002

(41)

33

 Untuk LCD Matrix Display bisa coba pakai library dari BSP.

Langkah 1:

Klik kanan di cmsis_lib\Include \Driver, lalu pilih Add Files. Browse ke C:\Nuvoton \BSP Library \NUC100SeriesBSP \NuvPlatform_Keil \Include \NUC1xx-LB_002

Pilih file LCD_Driver.h

Langkah 2:

Klik kanan di cmsis_lib\Src \Driver, lalu pilih Add Files. Browse ke C:\Nuvoton \BSP Library \NUC100SeriesBSP\NuvPlatform_Keil \Src \NUC1xx-LB_002

Pilih file LCD_Driver.c

Langkah 3:

Klik kanan di cmsis_lib\Src \Driver, lalu pilih Add Files. Browse ke C:\Nuvoton \BSP Library \NUC100SeriesBSP \NuvPlatform_Keil \Src \NUC1xx-LB_002

Pilih file Ascii_Table.c

LISTING PROGRAM: #include "DrvGPIO.h" #include "DrvSYS.h" #include "LCD_Driver.h" int key; void Init(); int main(void) { Init(); Initial_pannel(); DrvGPIO_ClrBit(E_GPD,14); clr_all_pannal(); print_lcd(0,"0"); while(1) { key=Scankey(); if(key!=0) { Show_Word(0,0,key+'0'); DrvGPIO_ClrBit(E_GPB,11); } else { DrvGPIO_SetBit(E_GPB,11); }

(42)

34

} }

Langkah ke 8: Build dan Download program

1) Klik icon Build (F7) di toolbar untuk melakukan compile program. Pastikan Build Successful, tidak ada error.

2) Klik icon Download Code to Flash di toolbar untuk memasukkan program ke chip. Pastikan Done, tidak ada error.

E. PERTANYAAN DAN TUGAS

1) Jelaskan bagaimana cara menampilkan karakter pada LCD?

2) Buatlah listing program agar menampilkan “dasar mikro” pada LCD dan jelaskan bagaimana program tersebut bekerja?

3) Jelaskan bagaimana program COUNTER UP (7 SEGMENT) ini bekerja?

F. BLANGKO PERCOBAAN

Tabel 6.1 Praktikum 6

No Percobaan Keterangan

1 Tekan satu persatu kesembilan tombol keypad matrix

2 Tekan tombol reset.

3

Listing program #include “LCD_Driver.h” dihilangkan lalu build dan download. Jika sudah kembalikan seperti semula.

4

Listing program print_lcd(0,”0”); diubah menjadi print_lcd(0,”7”); lalu build dan download kemudian operasikan modul. Jika sudah kembalikan seperti semula.

(43)

35 5

Listing program print_lcd(0,”0”); diubah menjadi print_lcd(1,”0”); lalu build dan download kemudian operasikan modul. Jika sudah kembalikan seperti semula.

6

Pada listing program Show_Word(0,0,key+’0’); diubah menjadi

Show_Word(0,0,key+’1’); lalu build dan download kemudia operasikan modul. Jika sudah kembalikan seperti semula.

7

Pada listing program Show_Word(0,0,key+’0’); diubah menjadi

Show_Word(1,2,key+’0’); lalu build dan download kemudia operasikan modul. Jika sudah kembalikan seperti semula.

(44)

36

PRAKTIKUM 7 COUNTER UP (LCD)

A. TUJUAN PERCOBAAN

1) Mengetahui cara menggunakan fungsi aritmatika pada pemrograman C. 2) Mengetahui cara kerja if bersarang.

3) Menganalisa program COUNTER UP (LCD)

B. ALAT YANG DIGUNAKAN

1) 1 Unit komputer 2) Software CoSmart 3) Software CoIDE

4) 1 Unit modul NUVOTON Nu-LB-NUC140 V2.0 5) Kabel mini USB

C. DASAR TEORI

Pushbutton switch pada rangkaian hardware adalah digital input yang

bersifat ACTIVE LOW, yaitu jika ditekan memberikan logika LOW. • Untuk mengambil nilai logika input digital gunakan perintah berikut:

DrvGPIO_GetBit(Nama_port, Nomor_pin);

Keterangan: Nama_port diisi E_GPA / E_GPB / E_GPC / E_GPD /

E_GPE. Dalam hal ini karena Pushbutton switch dihubungkan ke PORT B maka isi dengan E_GPB.

Nomor_pin diisi dengan angka pin kaki mikrokontroler di PORT yang terhubung Pushbutton switch yang ingin dimainkan. Dalam hal ini empat buah Pushbutton switch sudah dihubungkan ke pin 15.

Fungsi DrvGPIO_GetBit menghasilkan nilai 0 jika logika LOW (pushbutton ditekan), atau 1 jika logika HIGH (pushbutton tidak ditekan).

(45)

37

BUZZER pada rangkaian hardware adalah digital output yang bersifat

ACTIVE LOW, yaitu berbunyi jika diberi logika LOW, dan mati jika diberikan logika HIGH.

• Untuk memberikan logika HIGH gunakan perintah berikut:

DrvGPIO_SetBit(Nama_port, Nomor_pin);

• Untuk memberikan logika LOW gunakan perintah berikut:

DrvGPIO_ClrBit(Nama_port, Nomor_pin);

• Untuk membuat delay bisa menggunakan perintah berikut:

DrvSys_Delay(Lama_delay_dalam_cycle);

• Untuk bisa menggunakan perintah di atas, perlu memasukkan library

#include “DrvGPIO.h“ #include “DrvSYS.h”

Nama_port diisi E_GPA / E_GPB / E_GPC / E_GPD / E_GPE. Dalam hal ini karena BUZZER dihubungkan ke PORT B maka isi dengan E_GPB.

Nomor_pin diisi dengan angka pin kaki mikrokontroler. Dalam hal ini BUZZER dihubungkan ke pin 11.

LCD Matrix Display pada rangkaian hardware dikontrol secara SPI, dan

memiliki pin kontrol backlight di port D pin 14 yang bersifat ACTIVE LOW, yaitu menyala jika diberi logika LOW, dan mati jika diberikan logika HIGH. • Untuk menulis karakter di LCD, bisa menggunakan perintah berikut:

print_lcd(Nomor_baris,Tulisan);

Show_Word(Nomor_baris,Nomor_kolom,Huruf);

• Untuk bisa menggunakan perintah di atas, perlu memasukkan library

#include “LCD_Driver.h“

• Driver LCD_Driver membutuhkan file Ascii_Table.c untuk menggambar huruf.

• Saat init pertama kali, perlu dipanggil perintah berikut:

Initialize_pannel();

• Untuk membersihkan display, bisa menggunakan perintah berikut:

(46)

38

Keterangan: Nomor_baris diisi angka 0-3, dihitung dari paling atas.

Nomor_kolom diisi angka 0-15, dihitung dari paling kiri.

D. PROSEDUR PERCOBAAN Langkah ke 1: Pilih Chip

1) Panggil aplikasi CooCox Software > CoSmart dari Start Menu untuk membantu konfigurasi pin.

2) Klik tombol New Chip di tengah layar. 3) Pilih Nuvoton, lalu pilih NUC140VE3CN

4) Akan muncul gambar chip NUC140VE3CN, dengan semua peripheralnya.

Langkah ke 2: Set Pin Pushbutton

1) Contreng GPIOB pada gambar chip. 2) Di jendela Configuration pilih GPIOB. 3) Di bawahnya, klik pada Pin 15 agar Enable. 4) Scroll ke bawah, atur Pin Config 15:

 Mode Control: Input  Digital Input: Enable  Input Signal Deb: Enable

Langkah ke 3: Set Pin Buzzer

1) Di jendela Configuration pilih GPIOB. 2) Di bawahnya, klik pada Pin 11 agar Enable. 3) Scroll ke bawah, atur Pin Config 11:

 Mode Control: Output

Langkah ke 4a: Set Pin LCD Matrix

1) Contreng SPI3 pada gambar chip untuk mengaktifkan fitur komunikasi SPI ke LCD Matrix.

Langkah ke 4b: Set Pin Backlight

(47)

39 2) Di jendela Configuration pilih GPIOD. 3) Di bawahnya, klik pada Pin 14 agar Enable. 4) Scroll ke bawah, atur Pin Config 14:

 Mode Control: Output

Langkah ke 5: Generate Project

1) Simpan konfigurasi dengan klik Project > Save lalu pilih folder dan ketikkan nama file, misal konfigurasi01.

2) Lalu klik Generate > Generate CoIDE Project lalu pilih folder dan ketikkan nama project, misal praktikum01.

3) CoSmart akan membuatkan file project dan membukanya otomatis di Windows Explorer.

Langkah ke 6: Buka Project

1) Klik dua kali file praktikum01 untuk membuka project dengan CoIDE.

2) Terlihat bahwa file project sudah disiapkan, klik dua kali pada main.c untuk mulai memprogram.

Langkah ke 7: Pemrograman

Nuvoton telah menyediakan Board Support Package (yang sudah di-instal) yang berisi banyak library yang dapat mempermudah kita memprogram object-object di Learning Board.

 Untuk LCD Matrix Display bisa coba pakai library dari BSP.

Langkah 1:

Klik kanan di cmsis_lib\Include \Driver, lalu pilih Add Files. Browse ke C:\Nuvoton \BSP Library \NUC100SeriesBSP\NuvPlatform_Keil \Include \NUC1xx-LB_002

Pilih file LCD_Driver.h

Langkah 2:

Klik kanan di cmsis_lib\Src \Driver, lalu pilih Add Files. Browse ke C:\Nuvoton \BSP Library \NUC100SeriesBSP\NuvPlatform_Keil \Src \NUC1xx-LB_002

(48)

40 Pilih file LCD_Driver.c

Langkah 3:

Klik kanan di cmsis_lib\Src \Driver, lalu pilih Add Files. Browse ke C:\Nuvoton \BSP Library \NUC100SeriesBSP\NuvPlatform_Keil \Src \NUC1xx-LB_002

Pilih file Ascii_Table.c

LISTING PROGRAM: #include "DrvGPIO.h" #include "DrvSYS.h" #include "LCD_Driver.h" int nilai=0,a=0; void Init(); int main(void) { Init(); Initial_pannel(); DrvGPIO_ClrBit(E_GPD,14); clr_all_pannal(); print_lcd(0,"0"); while(1) { if(DrvGPIO_GetBit(E_GPB,15)==0) { if(a==0) { DrvGPIO_ClrBit(E_GPB,11); nilai=nilai+1; Show_Word(0,0,nilai%10+'0'); a=1; } } if(DrvGPIO_GetBit(E_GPB,15)==1) { DrvGPIO_SetBit(E_GPB,11); DrvSYS_Delay(10000); a=0; } } }

Langkah ke 8: Build dan Download program

1) Klik icon Build (F7) di toolbar untuk melakukan compile program. Pastikan Build Successful, tidak ada error.

2) Klik icon Download Code to Flash di toolbar untuk memasukkan program ke chip. Pastikan Done, tidak ada error.

(49)

41

E. PERTANYAAN DAN TUGAS

1) Apa saja fungsi aritmatika yang dapat digunakan pada pemrograman C? 2) Tuliskan contoh listing program masing-masing fungsi aritmatika dan

menampilkan hasilnya di LCD?

(50)

42

PRAKTIKUM 8 WATER LEVEL

A. TUJUAN PERCOBAAN

1) Menganalisa program WATER LEVEL.

B. ALAT YANG DIGUNAKAN

1) 1 Unit komputer 2) Software CoSmart 3) Software CoIDE

4) 1 Unit modul NUVOTON Nu-LB-NUC140 V2.0 5) Kabel mini USB

C. DASAR TEORI

LED pada rangkaian hardware adalah digital output yang bersifat

ACTIVE LOW, yaitu menyala jika diberi logika LOW, dan mati jika diberikan logika HIGH.

• Untuk memberikan logika HIGH gunakan perintah berikut:

DrvGPIO_SetBit(Nama_port, Nomor_pin);

• Untuk memberikan logika LOW gunakan perintah berikut:

DrvGPIO_ClrBit(Nama_port, Nomor_pin);

• Untuk membuat delay bisa menggunakan perintah berikut:

DrvSys_Delay(Lama_delay_dalam_cycle);

• Untuk bisa menggunakan perintah di atas, perlu memasukkan library

#include “DrvGPIO.h“ #include “DrvSYS.h”

Nama_port diisi E_GPA / E_GPB / E_GPC / E_GPD / E_GPE. Dalam hal ini karena LED dihubungkan ke PORT C maka isi dengan E_GPC.

Nomor_pin diisi dengan angka pin kaki mikrokontroler. Dalam hal ini empat buah LED sudah dihubungkan ke pin 12 s/d 15.

(51)

43

Pushbutton switch pada rangkaian hardware adalah digital input yang

bersifat ACTIVE LOW, yaitu jika ditekan memberikan logika LOW. • Untuk mengambil nilai logika input digital gunakan perintah berikut:

DrvGPIO_GetBit(Nama_port, Nomor_pin);

Keterangan: Nama_port diisi E_GPA / E_GPB / E_GPC / E_GPD /

E_GPE. Dalam hal ini karena Pushbutton switch dihubungkan ke PORT B maka isi dengan E_GPB.

Nomor_pin diisi dengan angka pin kaki mikrokontroler di PORT yang terhubung Pushbutton switch yang ingin dimainkan. Dalam hal ini empat buah Pushbutton switch sudah dihubungkan ke pin 15.

Fungsi DrvGPIO_GetBit menghasilkan nilai 0 jika logika LOW (pushbutton ditekan), atau 1 jika logika HIGH (pushbutton tidak ditekan).

BUZZER pada rangkaian hardware adalah digital output yang bersifat

ACTIVE LOW, yaitu berbunyi jika diberi logika LOW, dan mati jika diberikan logika HIGH.

• Untuk memberikan logika HIGH gunakan perintah berikut:

DrvGPIO_SetBit(Nama_port, Nomor_pin);

• Untuk memberikan logika LOW gunakan perintah berikut:

DrvGPIO_ClrBit(Nama_port, Nomor_pin);

• Untuk membuat delay bisa menggunakan perintah berikut:

DrvSys_Delay(Lama_delay_dalam_cycle);

• Untuk bisa menggunakan perintah di atas, perlu memasukkan library

#include “DrvGPIO.h“ #include “DrvSYS.h”

Nama_port diisi E_GPA / E_GPB / E_GPC / E_GPD / E_GPE. Dalam hal ini karena BUZZER dihubungkan ke PORT B maka isi dengan E_GPB.

Nomor_pin diisi dengan angka pin kaki mikrokontroler. Dalam hal ini BUZZER dihubungkan ke pin 11.

(52)

44

LCD Matrix Display pada rangkaian hardware dikontrol secara SPI, dan

memiliki pin kontrol backlight di port D pin 14 yang bersifat ACTIVE LOW, yaitu menyala jika diberi logika LOW, dan mati jika diberikan logika HIGH. • Untuk menulis karakter di LCD, bisa menggunakan perintah berikut:

print_lcd(Nomor_baris,Tulisan);

Show_Word(Nomor_baris,Nomor_kolom,Huruf);

• Untuk bisa menggunakan perintah di atas, perlu memasukkan library

#include “LCD_Driver.h“

• Driver LCD_Driver membutuhkan file Ascii_Table.c untuk menggambar huruf.

• Saat init pertama kali, perlu dipanggil perintah berikut:

Initialize_pannel();

• Untuk membersihkan display, bisa menggunakan perintah berikut:

clr_all_pannal();

Keterangan: Nomor_baris diisi angka 0-3, dihitung dari paling atas.

Nomor_kolom diisi angka 0-15, dihitung dari paling kiri.

Variabel Resistor pada rangkaian hardware yang memberikan masukan

sinyal analog. ARM NUC140 memiliki 8 channel pengkonversi sinyal analog ke nilai digital (ADC) dengan ketelitian 12 bit, yang dapat membaca level sinyal analog menjadi angka dalam range 0-4095. Clock ADC dapat menggunakan internal 22MHz dengan divisor 2.

• Untuk membaca sinyal analog, bisa menggunakan perintah berikut:

DrvADC_StartConvert();

DrvADC_GetConversionData(Nomor_channel);

• Untuk bisa menggunakan perintah di atas, perlu memasukkan library

#include “DrvADC.h“

• Untuk menampung hasil pembacaan ADC, ada baiknya membuat suatu variabel, misal bernama adc bertipe data integer.

(53)

45

Keterangan: Nomor_channel diisi angka 0-7, sesuai dengan pin tempat

sinyal analog terhubung. Dalam hal ini, Variabel Resistor ada di channel 7.

D. PROSEDUR PERCOBAAN Langkah ke 1: Pilih Chip

1) Panggil aplikasi CooCox Software > CoSmart dari Start Menu untuk membantu konfigurasi pin.

2) Klik tombol New Chip di tengah layar. 3) Pilih Nuvoton, lalu pilih NUC140VE3CN

4) Akan muncul gambar chip NUC140VE3CN, dengan semua peripheralnya.

Langkah ke 2: Set Pin LED

1) Contreng GPIOC pada gambar chip. 2) Di jendela Configuration pilih GPIOC.

3) Di bawahnya, klik pada Pin 12 s/d 15 agar Enable. 4) Scroll ke bawah, atur Pin Config 12 s/d 15:

 Mode Control: Output

Langkah ke 3: Set Pin Pushbutton

1) Contreng GPIOB pada gambar chip. 2) Di jendela Configuration pilih GPIOB. 3) Di bawahnya, klik pada Pin 15 agar Enable. 4) Scroll ke bawah, atur Pin Config 15:

 Mode Control: Input  Digital Input: Enable  Input Signal Deb: Enable

Langkah ke 4: Set Pin VR

1) Contreng ADC pada gambar chip. 2) Di jendela Configuration pilih ADC. 3) Klik pada Channel 7 agar Enable.

(54)

46 5) Klik pada Clock Divisor, isi dengan angka 2.

Langkah ke 5: Set Pin Buzzer

1) Di jendela Configuration pilih GPIOB. 2) Di bawahnya, klik pada Pin 11 agar Enable. 3) Scroll ke bawah, atur Pin Config 11:

 Mode Control: Output

Langkah ke 6a: Set Pin LCD Matrix

1) Contreng SPI3 pada gambar chip untuk mengaktifkan fitur komunikasi SPI ke LCD Matrix.

Langkah ke 6b: Set Pin Backlight

1) Contreng GPIOD pada gambar chip. 2) Di jendela Configuration pilih GPIOD. 3) Di bawahnya, klik pada Pin 14 agar Enable. 4) Scroll ke bawah, atur Pin Config 14:

 Mode Control: Output

Langkah ke 7: Generate Project

1) Simpan konfigurasi dengan klik Project > Save lalu pilih folder dan ketikkan nama file, misal konfigurasi01.

2) Lalu klik Generate > Generate CoIDE Project lalu pilih folder dan ketikkan nama project, misal praktikum01.

3) CoSmart akan membuatkan file project dan membukanya otomatis di Windows Explorer.

Langkah ke 8: Buka Project

1) Klik dua kali file praktikum01 untuk membuka project dengan CoIDE.

2) Terlihat bahwa file project sudah disiapkan, klik dua kali pada main.c untuk mulai memprogram.

(55)

47

Lnagkah ke 9: Pemrograman

Nuvoton telah menyediakan Board Support Package (yang sudah di-instal) yang berisi banyak library yang dapat mempermudah kita memprogram object-object di Learning Board.

 Untuk LCD Matrix Display bisa coba pakai library dari BSP.

Langkah 1:

Klik kanan di cmsis_lib\Include \Driver, lalu pilih Add Files. Browse ke C:\Nuvoton \BSP Library \NUC100SeriesBSP\NuvPlatform_Keil \Include \NUC1xx-LB_002

Pilih file LCD_Driver.h

Langkah 2:

Klik kanan di cmsis_lib\Src \Driver, lalu pilih Add Files. Browse ke C:\Nuvoton \BSP Library \NUC100SeriesBSP\NuvPlatform_Keil \Src \NUC1xx-LB_002

Pilih file LCD_Driver.c

Langkah 3:

Klik kanan di cmsis_lib\Src \Driver, lalu pilih Add Files. Browse ke C:\Nuvoton \BSP Library \NUC100SeriesBSP\NuvPlatform_Keil \Src \NUC1xx-LB_002

Pilih file Ascii_Table.c

LISTING PROGRAM #include "DrvGPIO.h" #include "DrvSYS.h" #include "LCD_Driver.h" #include "DrvADC.h" int adc,a=0; void Init(); int main(void) { Init(); Initial_pannel(); DrvGPIO_ClrBit(E_GPD,14);

(56)

48

clr_all_pannal(); while(a==0) {

print_lcd(0,"NUVOTON"); print_lcd(1,"DASAR MIKRO"); print_lcd(2,"TEKAN PUSH BTN"); print_lcd(3,"UNTUK MELANJUTKN"); if(DrvGPIO_GetBit(E_GPB,15)==0) { a=1; clr_all_pannal(); } } while(a==1) { if(DrvGPIO_GetBit(E_GPB,15)==1) { print_lcd(0,"ADC="); DrvADC_StartConvert(); adc=DrvADC_GetConversionData(7); Show_Word(0,5,adc/1000+'0'); Show_Word(0,6,adc%1000/100+'0'); Show_Word(0,7,adc%100/10+'0'); Show_Word(0,8,adc%10+'0'); if(adc<=999) { DrvGPIO_SetBit(E_GPC,15); DrvGPIO_SetBit(E_GPC,14); DrvGPIO_SetBit(E_GPC,13); DrvGPIO_SetBit(E_GPC,12); DrvGPIO_ClrBit(E_GPB,11); print_lcd(1,"LOW!!!"); } if(adc>=1000) { if(adc<=1999) { DrvGPIO_ClrBit(E_GPC,15);

(57)

49 DrvGPIO_SetBit(E_GPC,14); DrvGPIO_SetBit(E_GPC,13); DrvGPIO_SetBit(E_GPC,12); DrvGPIO_SetBit(E_GPB,11); print_lcd(1,"NORMAL"); } } if(adc>=2000) { if(adc<=2999) { DrvGPIO_ClrBit(E_GPC,15); DrvGPIO_ClrBit(E_GPC,14); DrvGPIO_SetBit(E_GPC,13); DrvGPIO_SetBit(E_GPC,12); DrvGPIO_SetBit(E_GPB,11); print_lcd(1,"NORMAL"); } } if(adc>=3000) { if(adc<=3999) { DrvGPIO_ClrBit(E_GPC,15); DrvGPIO_ClrBit(E_GPC,14); DrvGPIO_ClrBit(E_GPC,13); DrvGPIO_SetBit(E_GPC,12); DrvGPIO_SetBit(E_GPB,11); print_lcd(1,"NORMAL"); } } if(adc>=4000) { DrvGPIO_ClrBit(E_GPC,15); DrvGPIO_ClrBit(E_GPC,14); DrvGPIO_ClrBit(E_GPC,13); DrvGPIO_ClrBit(E_GPC,12); DrvGPIO_ClrBit(E_GPB,11);

(58)

50 print_lcd(1,"HIGH!!"); } } } }

Langkah ke 12: Build dan Download program

1) Klik icon Build (F7) di toolbar untuk melakukan compile program. Pastikan Build Successful, tidak ada error.

2) Klik icon Download Code to Flash di toolbar untuk memasukkan program ke chip. Pastikan Done, tidak ada error.

(59)

51

FORM PENILAIAN

NAMA MAHASISWA ANGKA

JENIS PENILAIAN :

TES PENDAHULUAN (10%) PRAKTIKUM (20%)

LAPORAN (45%)

Gambar

Gambar 1 Stabilitas Relatif
Gambar 1.1 LED
Tabel 1.1 Praktikum 1
Gambar 2.2 Blok Diagram If
+6

Referensi

Dokumen terkait

Perlu juga anda ketahui bahwa meskipun penyakit kutil kelamin ini, Umumnya tumbuh di daerah genital tapi juga bisa tumbuh di Anus, Bibir, Mulut dan Tenggorokan atau bagian tubuh

niger dapat tumbuh secara bersamaan pada perlakuan BIS-TA, namun sampai hari ke-3 fermentasi masih belum terlihat adanya interaksi miselia yang saling bercampur pada

Hasil program IbM ini menunjukkan bahwa respon masyarakat peternak sapi perah sangat baik dan antusias untuk proaktif mengikuti program dalam semua kegiatan selama

Proses pesanan yang terdapat pada Aza Collection dimulai dengan pelanggan mengirimkan gambar sampel pesanan yang kemudian diterima oleh bagian penjualan, lalu

Tabel Data Wilayah dan faslitas Pelayanan Kesehatan di Puskesmas Kutorejo Kabupaten Mojokerto tahun 2014 Tabel Data Wilayah dan faslitas Pelayanan Kesehatan di Puskesmas

Hasil Pengujian Penghidupan Node Dengan Proteksi Pemilihan Tetangga ... Hasil Pengujian Penghidupan Node Dengan Mode Otomatis

Program yang diberikan oleh latief Foundation yaitu penyadaran kepada warga masyarakat Indonesia betapa pentingnya pendidikan bagi upaya peningkatan kualitas kehidupan yang

Terciptanya loyalitas konsumen dapat dilihat pada data yang diperoleh dari hasil penelitian yang dapat menunjukkan indikator-indikator disetiap variabel latent