• Tidak ada hasil yang ditemukan

Aplikasi Sensor Lm35 Sebagai Thermometer Digital Dengan Output Suara

N/A
N/A
Protected

Academic year: 2017

Membagikan "Aplikasi Sensor Lm35 Sebagai Thermometer Digital Dengan Output Suara"

Copied!
24
0
0

Teks penuh

(1)

BAB 2

LANDASAN TEORI

2.1. SENSOR SUHU LM35

Sensor suhu LM35 adalah komponen elektronika yang memiliki fungsi untuk mengubah besaran suhu menjadi besaran listrik dalam bentuk tegangan. Sensor Suhu LM35 yang dipakai dalam penelitian ini berupa komponen elektronika elektronika yang diproduksi oleh National Semiconductor. LM35 memiliki keakuratan tinggi dan kemudahan perancangan jika dibandingkan dengan sensor suhu yang lain, LM35 juga mempunyai keluaran impedansi yang rendah dan linieritas yang tinggi sehingga dapat dengan mudah dihubungkan dengan rangkaian kendali khusus serta tidak memerlukan penyetelan lanjutan.

Meskipun tegangan sensor ini dapat mencapai 30 volt akan tetapi yang diberikan kesensor adalah sebesar 5 volt, sehingga dapat digunakan dengan catu daya tunggal dengan ketentuan bahwa LM35 hanya membutuhkan arus sebesar 60 µA hal ini berarti LM35 mempunyai kemampuan menghasilkan panas (self-heating) dari sensor yang dapat menyebabkan kesalahan pembacaan yang rendah

(2)

2.1.1. Struktur Sensor LM35

Gambar 2.1. Sensor Suhu LM35

Gambar diatas menunjukan bentuk dari LM35 tampak depan dan tampak bawah. 3 pin LM35 menujukan fungsi masing-masing pin diantaranya, pin 1 berfungsi sebagai sumber tegangan kerja dari LM35, pin 2 atau tengah digunakan sebagai tegangan keluaran atau Vout dengan jangkauan kerja dari 0 Volt sampai dengan 1,5 Volt dengan tegangan operasi sensor LM35 yang dapat digunakan antar 4 Volt sampai 30 Volt. Keluaran sensor ini akan naik sebesar 10 mV setiap derajad celcius sehingga diperoleh persamaan sebagai berikut :

(3)

Gambar 2.2. Skematik rangkaian dasar sensor suhu

Gambar diatas kanan adalah gambar skematik rangkaian dasar sensor suhu LM35-DZ. Rangkaian ini sangat sedeCrhana dan praktis. Vout adalah tegangan keluaran sensor yang terskala linear terhadap suhu terukur, yakni 10 milivolt per 1 derajad celcius. Jadi jika Vout = 530mV, maka suhu terukur adalah 53 derajad Celcius.Dan jika Vout = 320mV, maka suhu terukur adalah 32 derajad Celcius. Tegangan keluaran ini bisa langsung diumpankan sebagai masukan ke rangkaian pengkondisi sinyal seperti rangkaian penguat operasional dan rangkaian filter, atau rangkaian lain seperti rangkaian pembanding tegangan dan rangkaian Analog-to-Digital Converter.

(4)

kepresisian, maka tingkat akurasi alat ukur lebih utama karena alat ukur seyogyanya dapat dijadikan patokan bagi penggunanya. Jika nilainya berubah-ubah untuk kondisi yang relatif tidak ada perberubah-ubahan, maka alat ukur yang demikian ini tidak dapat digunakan.

2.1.2. Karakteristik Sensor LM35.

Gambar 2.3. kaki-kaki LM35

1. Memiliki sensitivitas suhu, dengan faktor skala linier antara tegangan dan suhu 10 mVolt/ºC, sehingga dapat dikalibrasi langsung dalam celcius.

2. Memiliki ketepatan atau akurasi kalibrasi yaitu 0,5ºC pada suhu 25 ºC seperti terlihat pada gambar 2.2.

3. Memiliki jangkauan maksimal operasi suhu antara -55 ºC sampai +150 ºC. 4. Bekerja pada tegangan 4 sampai 30 volt.

5. Memiliki arus rendah yaitu kurang dari 60 µA.

6. Memiliki pemanasan sendiri yang rendah (low-heating) yaitu kurang dari 0,1 ºC pada udara diam.

(5)

8. Memiliki ketidaklinieran hanya sekitar ± ¼ ºC.

Gambar 2.4. Grafik akurasi LM35 terhadap suhu

Sensor LM35 bekerja dengan mengubah besaran suhu menjadi besaran tegangan. Tegangan ideal yang keluar dari LM35 mempunyai perbandingan 100°C setara dengan 1 volt. Sensor ini mempunyai pemanasan diri (self heating) kurang dari 0,1°C, dapat dioperasikan dengan menggunakan power supply tunggal dan dapat dihubungkan antar muka (interface) rangkaian control yang sangat mudah.

(6)

Gambar 2.5. Rangkaian Sensor LM35

IC LM 35 ini tidak memerlukan pengkalibrasian atau penyetelan dari luar karena ketelitiannya sampai lebih kurang seperempat derajat celcius pada temperature ruang. Jangka sensor mulai dari – 55°C sampai dengan 150°C, IC LM35 penggunaannya sangat mudah, difungsikan sebagai kontrol dari indicator tampilan catu daya terbelah. IC LM 35 dapat dialiri arus 60 µ A dari supplay sehingga panas yang ditimbulkan sendiri sangat rendah kurang dari 0 ° C di dalam suhu ruangan.

Untuk mendeteksi suhu digunakan sebuah sensor suhu LM35 yang dapat dikalibrasikan langsung dalam C (celcius), LM35 ini difungsikan sebagai basic temperature sensor.

Adapun keistimewaan dari IC LM 35 adalah :

• Kalibrasi dalam satuan derajat celcius.

• Lineritas +10 mV/ º C.

• Akurasi 0,5 º C pada suhu ruang.

• Range +2 º C – 150 º C.

• Dioperasikan pada catu daya 4 V – 30 V.

(7)

2.1.3. Prinsip Kerja Sensor LM35

Secara prinsip sensor akan melakukan penginderaan pada saat perubahan suhu setiap suhu 1 ºC akan menunjukan tegangan sebesar 10 mV. Pada penempatannya LM35 dapat ditempelkan dengan perekat atau dapat pula disemen pada permukaan akan tetapi suhunya akan sedikit berkurang sekitar 0,01 ºC karena terserap pada suhu permukaan tersebut. Dengan cara seperti ini diharapkan selisih antara suhu udara dan suhu permukaan dapat dideteksi oleh sensor LM35 sama dengan suhu disekitarnya, jika suhu udara disekitarnya jauh lebih tinggi atau jauh lebih rendah dari suhu permukaan, maka LM35 berada pada suhu permukaan dan suhu udara disekitarnya .

Jarak yang jauh diperlukan penghubung yang tidak terpengaruh oleh interferensi dari luar, dengan demikian digunakan kabel selubung yang ditanahkan sehingga dapat bertindak sebagai suatu antenna penerima dan simpangan didalamnya, juga dapat bertindak sebagai perata arus yang mengkoreksi pada kasus yang sedemikian, dengan mengunakan metode bypass kapasitor dari Vin untuk ditanahkan.

Maka dapat disimpulkan prinsip kerja sensor LM35 sebagai berikut: • Suhu lingkungan di deteksi menggunakan bagian IC yang peka terhadap

suhu

• Suhu lingkungan ini diubah menjadi tegangan listrik oleh rangkaian di dalam IC, dimana perubahan suhu berbanding lurus dengan perubahan tegangan output.

(8)

Vout=10 mV/oC

Tiap perubahan 1oC akan menghasilkan perubahan tegangan output sebesar 10mV

2.1.4. Kelebihan dan Kelemahan Sensors LM35 Kelebihan:

a. Rentang suhu yang jauh, antara -55 sampai +150 oC b. Low self-heating, sebesar 0.08 oC

c. Beroperasi pada tegangan 4 sampai 30 V d. Rangkaian tidak rumit

e. Tidak memerlukan pengkondisian sinyal

Kekurangan:

Membutuhkan sumber tegangan untuk beroperasi

2.2. LCD ( Liquid Crystal Display )

LCD ( Liquid Crystal Dispalay ) sering diartikan dalam bahasa indonesia sebagai tampilan kristal cair merupakan suatu jenis media tampilan yang menggunakan kristal cair sebagai penampil utama.

(9)

belakang susunan kristal cair tadi. Titik cahaya yang jumlahnya puluhan ribu bahkan jutaan inilah yang membentuk tampilan citra. Kutub kristal cair yang dilewati arus listrik akan berubah karena pengaruh polarisasi medan magnetik yang timbul dan oleh karenanya akan hanya membiarkan beberapa warna diteruskan sedangkan warna lainnya tersaring.

Dalam menampilkan karakter untuk membantu menginformasikan proses dan control yang terjadi dalam suatu program robot kita sering menggunakan LCD. Ada beberapa jenis LCD perbedaannya hanya terletak pada alamat menaruh karakternya. Salah satu LCD yang sering dipergunakan adalah LCD 16x2 artinya LCD tersebut terdiri dari 16 kolom dan 2 baris. LCD ini sering digunakan karena harganya yang relatif murah dan pemakaian nya yang mudah. LCD yang kita gunakan masih membutuhkan agar dapat dikoneksikan dengan system minimum dalam suatu mikrokontroler. Driver tersebut berisi rangkaian pengaman, pengatur tingkat kecerahan backligt maupun data serta untuk mempermudah pemasangan di mikrokontroler (portable-red).

(10)

Modul LCD memiliki karakteristik sebagai berikut:

1. Terdapat 16 x 2 karakter huruf yang bisa ditampilkan. 2. Setiap terdiri dari 5 x 7 dot-matrix cursor.

3. Terdapat 192 macam karakter.

4. Terdapat 80 x 8 bit display RAM ( maksimal 80 karakter ).

5. Memiliki kemampuan penulisan dengan 8 bit maupun dengan 4 bit. 6. Dibangun oleh osilator lokal.

7. Satu sumber tegangan 5 Volt.

(11)

2.2.1. Konfigurasi Pin LCD

Tabel 2.1. Konfigurasi Pin LCD

No Simbol Level Fungsi

1 Vss - 0 Volt

2 Vcc - 5+10% Volt

3 Vee - Penggerak LCD

4 RS H/L H=Memasukkan Data,L=Memasukkan Ins

5 R/W H/L H=Baca, L=Tulis

6 E Enable Signal

7 DB0 H/L

Data Bus

8 DB1 H/L

9 DB2 H/L

10 DB3 H/L

11 DB4 H/L

12 DB5 H/L

13 DB6 H/L

14 DB7 H/L

15 V+BL

Kecerahan LCC

16 V-BL

2.3. Mikrokontroler ATmega32

(12)

yang mengeksekusi satu instruksi dalam satu siklus clock sehingga dapat mencapai eksekusi instruksi sebesar 1 MIPS (Million Instruction Per Second) setiap 1 MHZ frekuensi clock yang digunakan mikrokontroler tersebut. Frekuensi clock yang digunakan dapat diatur melalui fuse bits dan kristal yang digunakan.

Jika kristal yang digunakan sebesar 16 MHZ sehingga frekuensi clock-nya sebesar 16 MHZ maka eksekusi instruksinya mencapai 16 MIPS (Atmel, 2009).

ATmega32 memiliki fitur utama antara lain: 16K x 16 byte In-System Programmable Flash Program memory dari alamat 0000H sampai 3FFFH. Flash

memory ini terbagi menjadi dua bagian yaitu application flash section dan boot

flash section. Data memori sebesar 2144 byte yang terbagi atas 32 general

purpose register, 64 I/O register, dan 2KB internal SRAM (Static Random Access

Memory), 1 KB EEPROM (Electrically Eraseable Read Only Memory), 32 I/O

pin, tiga unit timer/counter, internal dan eksternal interrupt, USART (Universal Synchronous and Asynchronous Receiver Transceiver), TWI (Two-wire Serial

Interface), 10-bit ADC (Analog to Digital Converter) delapan saluran, SPI (Serial

Programmable Interface), watchdog timer, dan internal clock generator. Seperti

telah disebutkan di atas, ATmega32 memiliki 32 general purpose register, dan register ini terhubung langsung dengan dengan ALU (Arithmatic Logic Unit)

(13)

Gambar 2.7. Susunan Pin Atmega32

(14)

ATmega32 memiliki clock generator internal sehingga mikrokontroler ini dapat bekerja langsung tanpa menggunakan clock eksternal. Sinyal clock internal yang dibangkitkan sebesar 1 MHZ. Jadi, cukup dengan menghubungkan Vcc dan Gnd dengan tegangan 5V DC mikrokontroler ini dapat bekerja.

Untuk membuat program untuk ATmega32 dapat digunakan WinAVR atau AVR Studio yang dapat diperoleh secara gratis (freeware). Namun dalam pembahasan, ini software yang digunakan adalah WinAVR. Program dibuat dalam bahasa C dan menambahkan file header untuk ATmega32 yang berisi register-register pada ATmega32. Setelah program di-compile akan menghasilkan

file dengan tipe Intel hex (.hex). File inilah yang nantinya akan di-programkan ke ATmega32 melalui interface bsd programmer (Brian Dean's Programmer) yang terhubung ke komputer melalui port paralel. Koneksi antara ATmega32 dan port paralel untuk bsd programmer diberikan oleh tabel berikut ini

Tabel 2.2 Koneksi Pin Port Paralel dan ATmega32

Port paralel ATmega32 No pin Nama pin No pin Nama pin

7 D5 9 Reset

8 D6 8 SCK

9 D7 6 MOSI

10 S6 7 MISO

(15)

Secara fungsional konfigurasi pin ATMega32 adalah sebagai berikut: a. VCC

- Tegangan sumber b. GND (Ground)

- Ground

c. Port A (PA7 – PA0)

(16)

Tabel 2.3 Fungsi khusus port A

Port Alternate Function

PA7 ADC7 (ADC input channel 7)

PA6 ADC6 (ADC input channel 6)

PA5 ADC5 (ADC input channel 5)

PA4 ADC4 (ADC input channel 4) PA3 ADC3 (ADC input channel 3)

PA2 ADC2 (ADC input channel 2)

PA1 ADC1 (ADC input channel 1) PA0 ADC0 (ADC input channel 0)

d. Port B (PB7 – PB0)

Port B adalah 8-bit port I/O yang bersifat bi-directional dan setiap pin mengandung internal pull-up resistor. Output buffer port B dapat mengalirkan arus sebesar 20 mA. Ketika port B digunakan sebagai input dan di pull-down secara external, port B akan mengalirkan arus jika internal pull-up resistor diaktifkan.

Pin-pin port B memiliki fungsi-fungsi khusus, diantaranya : 1. SCK port B, bit 7

Input pin clock untuk up/downloading memory. 2. MISO port B, bit 6

(17)

3. MOSI port B, bit 5

Pin input data untuk downloading memory.

Fungsi-fungsi khusus pin-pin port B dapat ditabelkan seperti yang tertera pada tabel dibawah ini

Tabel 2.4 Fungsi khusus port B

Port Alternate Function

PB7 SCK (SPI Bus Serial Clock)

PB6 MISO (SPI Bus Master Input/Slave Output)

PB6 MOSI (SPI Bus Master Output/Slave Input)

PB5 SS (SPI Slave Select Input)

PB3

AIN1 (Analog Comparator Negative Input)

OCO (Timer/Counter0 Output Compare Match Output)

PB2

AIN0 (Analog Comparator Positive Input) INT2 (External Interrupt 2 Input)

PB1 T1 (Timer/Counter1 External Counter Input)

PB0

T0 (Timer/Counter External Counter Input) XCK (USART External Clock Input/Output)

e. Port C (PC7 – PC0)

(18)

mengalirkan arus sebesar 20 mA. Ketika port C digunakan sebagai input dan di pull-down secara langsung, maka port C akan mengeluarkan arus jika internal pull-up resistor diaktifkan. Fungsi-fungsi khusus pin-pin port C dapat ditabelkan seperti yang tertera pada tabel 2.3

Tabel 2.5 Fungsi khusus port C

Port Alternate Function

PC7 TOSC2 (Timer Oscillator Pin 2)

PC6 TOSC1 (Timer Oscillator Pin 1)

PC6 TD1 (JTAG Test Data In)

PC5 TD0 (JTAG Test Data Out) PC3 TMS (JTAG Test Mode Select)

PC2 TCK (JTAG Test Clock)

PC1 SDA (Two-wire Serial Bus Data Input/Output Line) PC0 SCL (Two-wire Serial Bus Clock Line)

f. Port D (PD7 – PD0)

(19)

Tabel 2.6 Fungsi khusus port D

Port Alternate Function

PD7

OC2 (Timer / Counter2 Output Compare Match Output)

PD6 ICP1 (Timer/Counter1 Input Capture Pin)

PD6

OCIB (Timer/Counter1 Output Compare B Match Output)

PD5 TD0 (JTAG Test Data Out)

PD3 INT1 (External Interrupt 1 Input)

PD2 INT0 (External Interrupt 0 Input) PD1 TXD (USART Output Pin)

PD0 RXD (USART Input Pin)

2.4 Bahasa Pemograman C

Bahasa C dikembangkan pada Lab Bell pada tahun 1978, oleh Dennis Ritchi dan Brian W. Kernighan. Pada tahun 1983 dibuat standar C yaitu stnadar ANSI ( American National Standards Institute ), yang digunakan sebagai referensi dari berbagai versi C yang beredar dewasa ini termasuk Turbo C.

(20)

(diciptakan oleh Bjarne Struostrup dari AT % TLab). Bahasa C++ adalah pengembangan dari bahasa C. bahasa C++ mendukung konsep pemrograman berorientasu objek dan pemrograman berbasis windows.

Sampai sekarang bahasa C++ terus brkembang dan hasil perkembangannya muncul bahasa baru pada tahun 1995 (merupakan keluarga C dan C++ yang dinamakan java). Istilah prosedur dan fungsi dianggap sama dan disebut dengan fungsi saja. Hal ini karena di C++ sebuah prosedur pada dasanya adalah sebuah fungsi yang tidak memiliki tipe data kembalian (void). Hingga kini bahasa ni masih popular dan penggunaannya tersebar di berbagai platform dari windows samapi linux dan dari PC hingga main frame.

Ada pun kekurangan dan Kelebihan Bahasa C sebagai berikut :

• Kelebihan Bahasa C:

· Bahasa C tersedia hampir di semua jenis computer.

· Kode bahasa C sifatnya adalah portable dan fleksibel untuk semua jenis computer.

· Bahasa C hanya menyediakan sedikit kata-kata kunci. hanya terdapat 32 kata kunci.

· Proses executable program bahasa C lebih cepat · Dukungan pustaka yang banyak.

· C adalah bahasa yang terstruktur

· Bahasa C termasuk bahasa tingkat menengah

(21)

dengan cepat. secepat bahasa mesin. inilah salah satu kelebihan c yaitu memiliki kemudahan dalam menyusun programnya semudah bahasa tingkat tinggi namun dalam mengesekusi program secepat bahasa tingkat rendah.

• Kekurangan Bahasa C:

· Banyaknya operator serta fleksibilitas penulisan program kadang-kadang membingungkan pemakai.

· Bagi pemula pada umumnya akan kesulitan menggunakan pointer.

2.4.1 Struktur Bahasa C

a. Program bahasa C tersusun atas sejumlah blok fungsi.

b. Setiap fungsi terdiri dari satu atau beberapa pernyataan untuk melakukan suatu proses tertentu.

c. Tidak ada perbedaan antara prosedur dan fungsi.

d. Sstiap program bahasa C mempunyai suatu fungsi dengan nama “main” (Program Utama).

e. Fungsi bisa diletakkan diatas atau dibawah fungsin “main”. f. Setiap statemen diakhiri dengan semicolon (titik koma).

2.4.2 Pengenal

(22)

• Karakter pertama tidak boleh menggunakan angka

• Karakter kedua dapat berupa huruf, angka, atau garis bawah.

• Tidak boleh menggunakan spasi.

• Bersifat Case Sensitive, yaitu huru capital dan huruf kecil dianggap

berbeda.

• Tidak boleh mengunakan kata – kata yang merupakan sitaks maupun

operator dalam pemrograman C, misalnya : Void, short, const, if, static, bit, long, case, do, switch dll.

2.4.3 Tipe Data

Tipe data merupakan suatu hal yang penting untuk kita ketahui pada saat belajar bahasa pemrograman. Kita harus dapat menentukan tipe data yang tepat untuk menampung sebuah data, baik itu data berupa bilangan numerik ataupun karakter. Hal ini bertujuan agar program yang kita buat tidak membutuhkan pemesanan kapling memori yang berlebihan. Seorang programmer yang handal harus dapat memilih dan menentukan tipe data apa yang seharusnya digunakan dalampembuatan sebuah program. Secara garis besar tipe data pada bahasa C dibagi menjadi beberapa bagian antara lain sebagai Berikut

Macam-Macam Tipe Data Pada Bahasa C : 1. Tipe Data Karakter

(23)

karakter memiliki nilai ASCII, nilai inilah yang sebetulnya disimpan pada variabel yang bertipe data karakter ini.

2. Tipe Data Bilangan Bulat

Tipe data bilangan bulat atau dapat disebut juga bilangan desimal merupakan sebuah bilangan yang tidak berkoma. Pada bahasa C terdapat bermacam-macam tipe data yang dapat kita gunakan untuk menampung bilangan bulat. Kita dapat menyesuaikan penggunaan tipe data dengan terlebih dahulu memperhitungkan seberapa besar nilai yang akan kita simpan. Contohnya seperti berikut, kiata akan melakukan operasi penjumlahan nilai 300 dan 100 dan hasilnya akan disimpan pada variabel c.

Jika dilihat, hasil dari penjumlahan tersebut nilainya akan lebih besar dari 255 dan nilainya pasti positif, oleh karena itu sebaiknya kita menggunakan tipe data unsigned int. Namun berbeda halnya jika saya ingin melakukan operasi pengurangan -5 - 300, jika dilihat hasilnya akan negatif maka selayaknya digunakan variabel dengan tipe data int.

3. Tipe Data Bilangan Berkoma

(24)

Tabel 2.7 Tipe Data

Tipe Data Ukuran Jangkauan Nilai

Bit 1 byte 0 atau 1

Char 1 byte -128 s/d 127

Unsigned Char 1 byte 0 s/d 255 Signed Char 1 byte -128 s/d 127

Int 2 byte -32.768 s/d 32.767

Short Int 2 byte -32.768 s/d 32.767 Unsigned Int 2 byte 0 s/d 65.535 Signed Int 2 byte -32.768 s/d 32.767

Long Int 4 byte -2.147.483.648 s/d 2.147.483.647 Unsigned Long Int 4 byte 0 s/d 4.294.967.295

Signed Long Int 4 byte -2.147.483.648 s/d 2.147.483.647

Float 4 byte 1.2*10-38 s/d 3.4*10+38

Double 4 byte 1.2*10-38 s/d 3.4*10+38

2.4.4 Konstanta Dan Variabel

Gambar

Gambar 2.2. Skematik rangkaian dasar sensor suhu
Gambar 2.3. kaki-kaki LM35
Gambar 2.4. Grafik akurasi LM35 terhadap suhu
Gambar 2.5. Rangkaian Sensor LM35
+7

Referensi

Dokumen terkait

Sejalan dengan hal tersebut, penelitian yang dilakukan oleh Ebner, dkk juga menunjukkan bahwa penggunaan m-health dapat menghasilkan data yang real-time meskipun pada

peninggalan arkeologi dan budaya di kawasan kota tua Singkawang adalah melestarikan lingkungan masa lalu yang akan memperkaya pengalaman visual, menyalurkan hasrat

Foto Kopi Ijazah terakhir yang telah dilegalizir sebanyak 2 lembar dan diserahkan kepada petugas kelas dilokasi masing-masing b.. Pas foto 6 bulan terakhir ukuran 3x4

Secara teori, manfaat penelitian adalah agar masyarakat dapat lebih mengenal dan memahami mengenai sistem perencanaan pajak dan cara penerapannya dalam suatu perjanjian sewa

Perencanaan di sini dimaksudkan untuk menentukan kebutuhan dalam asuhan keperawatan dan kebidanan kepada semua pasien, menegakkan tujuan, mengalokasikan anggaran

Selanjutnya oleoresin lebih disukai dari pada produk cengkeh lainnya, karena selain mengandung minyak atsiri sebagai komponen yang menguap, juga bahan bahan lain yang tidak

"Ya Tuhan kami, beri ampunlah kami dan saudara-saudara kami yang telah beriman lebih dahulu dari kami, dan janganlah Engkau membiarkan kedengkian dalam hati kami

1) Praktik penyebaran informasi keuangan (laporan keuangan) melalui internet pada perusahaan BUMN di Indonesia telah cukup baik. 2) Sebagian besar perusahaan BUMN di