Rabu, 22 April 2020

INSTITUT TEKNOLOGI BANDUNG

https://fmipa.itb.ac.id/riset-dikti-2019/

10 Makanan untuk Membersihkan Pembuluh Darah

Tim, Budi Isdiyanto
10 Makanan untuk Membersihkan Pembuluh Darah Asparagus adalah salah satu makanan yang bagus untuk membersihkan pembuluh jantung.(Roman Drits/Barn Images)
Jakarta, CNN Indonesia -- Tingginya angka kematian yang disebabkan oleh penyakit jantung membuat setiap orang waswas akan gejalanya. Centers for Disease Control and Prevention mengatakan bahwa penyakit jantung diakibatkan penumpukan progresif di pembuluh arteri yang mempersempit dinding bagian dalam sehingga aliran darah mengalami penyumbatan.

Arteri adalah pembuluh darah yang berfungsi untuk mengalirkan darah dari jantung ke seluruh jaringan tubuh. Saat arteri tersumbat, besar kemungkinan seseorang terserang penyakit kardiovaskular seperti stroke dan jantung.

Untuk menghindari penyakit dengan angka kematian tertinggi di dunia itu, dianjurkan mengonsumsi makanan yang dapat melancarkan sekaligus menyehatkan arteri. Dikutip dari berbagai sumber, berikut 10 makanan untuk membersihkan pembuluh darah.


1. Asparagus
Asparagus merupakan jenis sayuran yang baik untuk membersihkan arteri. Asparagus mengandung banyak serat dan mineral, serta membantu mencegah pembekuan darah. Sayuran ini bekerja di dalam arteri untuk membuatnya tidak menumpuk dan menangkal gumpalan plak. Anda bisa mengonsumsi dengan cara dikukus, bakar, panggang, atau dimakan mentah.

2. Alpukat

10 Makanan untuk Membersihkan Pembuluh DarahIlustrasi alpukat (Foto: silverstylus/Pixabay)

Buah alpukat baik dikonsumsi karena dapat mengurangi kolestrol jahat (LDL) dan meningkatkan kolesterol baik (HDL), serta membantu membersihkan pembuluh darah. Alpukat juga mengandung vitamin E yang berguna untuk mencegah oksidasi kolestrol dan potasium.

3. Brokoli
Sayuran hijau ini mengandung vitamin K yang dibutuhkan untuk pembentukan tulang dan menjaga kalsium agar tidak merusak arteri. Selain itu, brokoli juga penuh serat yang bisa menurunkan tekanan darah, kadar kolesterol, dan mengurangi stres. Stres dapat merobek dinding arteri dan menyebabkan penyumbatan arteri.

4. Ikan

10 Makanan untuk Membersihkan Pembuluh DarahIlustrasi salmon (Foto: Picjumbo)

Konsumsi ikan yang memiliki lemak sehat seperti salmon, makerel, herring, tuna, dan sarden. Asam omega-3 yang ada di dalamnya berfungsi untuk membersihkan pembuluh darah Anda agar tak terjadi penyumbatan. Jika makan ikan berlemak ini dua kali seminggu dapat mengurangi risiko terkena penyakit jantung dengan mengurangi peradangan dan menurunkan kadar trigliserida, bahkan dapat membantu meningkatkan kadar HDL.

5. Kacang
Kacang almond mengandung lemak tak jenuh tunggal, vitamin E, dan serat yang sangat menyehatkan jantung, sedangkan kacang walnut adalah sumber asam lemak omega-3 nabati yakni asam alfa-linolenat. Menurut American Heart Association, lemak tak jenuh tunggal dapat membantu mengurangi kadar kolesterol jahat dalam darah dan menurunkan risiko penyakit jantung dan stroke.

6. Minyak zaitun
Kandungan nutrisi pada minyak zaitun berfungsi untuk menurunkan kolesterol seperti asam oleat tak jenuh, asam lemak esensial dan antioksidan. Menggunakan minyak zaitun ketimbang minyak biasa ketika memasak 41 persen lebih kecil terserang stroke dibandingkan dengan mereka yang tidak pernah menggunakan minyak zaitun. Gunakan sedikit minyak zaitun sebagai pengganti mentega. Namun, meski zaitun lebih sehat, jangan lupa membatasi penggunaannya karena semua lemak masih mengandung jumlah kalori yang sama.

7. Semangka

10 Makanan untuk Membersihkan Pembuluh DarahIlustrasi semangka (Foto: condesign/Pixabay)

Buah segar satu ini sangat baik dikonsumsi karena memiliki asam amino yang dapat memproduksi nitrat dalam tubuh. Nitrat dapat membuat arteri menjadi rileks dan menurunkan risiko penyakit jantung. Asam amino membantu tubuh memproduksi nitric oxide, yang memperlebar pembuluh darah dan menurunkan tekanan darah.

8. Kunyit
Kunyit bermanfaat untuk mengurangi pengerasan pada pembuluh darah atau arteriosclerosis. Kandungan curcumin pada kunyit sebagai anti-inflamasi dapat mengurangi peradangan dan mengurangi timbunan lemak dalam arteri. Kunyit juga mengandung vitamin B6 yang membantu mengurangi penumpukan plak di arteri.

9. Bayam
Daun bayam mengandung kalium, folat, dan serat untuk membantu menurunkan tekanan darah sekaligus mencegah penyumbatan pada arteri. Mengonsumsi satu porsi bayam per hari dapat menurunkan kadar homosistein, yakni faktor risiko penyakit jantung.

10. Gandum

10 Makanan untuk Membersihkan Pembuluh DarahIlustrasi gandum (Foto: morgueFile/Irish_Eyes)

Makanan gandum dan biji-bijian banyak mengandung magnesium yang membantu melebarkan pembuluh darah Anda. Konsumsi roti gandum, beras merah, oatmeal dapat menjaga arteri agar tetap bersih. Serat larut yang ditemukan dalam biji-bijian utuh itu mengikat kolesterol dalam makanan dan menyeretnya keluar dari tubuh.

Dalam rangka memperingati World Heart Day, Yayasan Jantung Indonesia bekerja sama dengan Transmedia menyelenggarakan Jakarta Heart Bike 2019. Acara fun bike 20 KM ini diadakan untuk meningkatkan kesadaran masyarakat akan pentingnya kesehatan jantung.

Selasa, 21 April 2020

Tutorial Antarmuka Mikrokontroler dan Komputer dengan Visual Basic (Interface Microcontroller and Computer with Visual Basic)



Visual Basic dapat digunakan untuk aplikasi akuisisi data dengan database dan chart, absen, menerima dan mengirim data, yang semuanya terhubung dengan port serial. Sebelum mengembangkan aplikasi lebih jauh, sekarang saya akan memberikan tutorial cara menampilkan data yang diterima pada port serial dengan Visual Basic. 

Data dikirimkan melalui mikrokontroler ke port serial komputer melalui IC MAX232 yang berfungsi sebagai pengubah level tegangan TTL dari mikrokontroler menjadi level tegangan RS232 pada port serial komputer, dan sebaliknya untuk mengubah dari tegangan RS232 menjadi tegangan TTL mikrokontroler. Rangkaiannya seperti ini:
Untuk pemrograman mikrokontroler saya menggunakan Bascom AVR, untuk mengirimkan data serial perintahnya adalah print, jika menggunakan CodeVision perintahnya adalah printf. Hal paling penting yang harus diperhatikan pada komunikasi serial ini adalah besarnya Baud Rate yang digunakan, biasanya adalah 9600 bps.
Listing program dengan Bascom AVR yang akan ditampilkan pada Visual Basic ini sbb:

'=======================================
'Tes Port Serial
'Wahyu Rahmaniar
'Technologination
'=======================================

$regfile = "m32def.dat"
$crystal = 11059200
$baud = 9600

Do
Print "Tes Port Serial"
Wait 1
Print "By Technologination"
Wait 1
Print "Wahyu Rahmaniar"
Wait 1
Loop

Sebelum dicoba ke Visual Basic, jika rangkaian sudah siap maka kita ujicoba terlebih dahulu ke Hyperterminal. Buka Start --> All Programs --> Accessories --> Communications --> HyperTerminal. Maka akan tampil seperti ini:
Beri nama bebas, misalnya "Serial". 
Tetapi jika pada komputer Anda HyperTerminal baru pertama kali digunakan, maka yang akan muncul adalah form pengaturan HyperTerminal, kemudian isi Country/region dan Area code bebas.
Selanjutnya setelah klik OK, tampil pengaturan koneksi sbb:
Pilih COM Port atau Connect using yang digunakan, jika menggunakan DB9 biasa COM1 atau COM2, dan jika menggunakan kabel konverter DB9 to USB maka cek port yang digunakan pada Device Manager.
Setelah itu klik OK, maka akan tampil form pengaturan COM Properties:
Isi pengaturan sesuai dengan gambar diatas, yaitu Bits per second atau Baud rate 9600, Data bits 8, Parity None, Stop Bits 1, dan Flow control None.
Klik Apply atau OK, jika koneksi sudah benar maka akan ditampilkan data yang dikirimkan dari mikrokontroler sbb:

Koneksi port serial sudah beres, selanjutnya kita buat tampilan Visual Basic nya, buka software Visual Basic, dan pilih Standar EXE kemudian Open, maka akan tampil form utama VB seperti ini:

Kemudian letakkan satu Label, dua ComboBox, satu TextBox, dua CommandButton, dan satu Timer pada Form1 tsb.
             
Pada Visual Basic 6 ini, untuk mengakses port serial dengan menggunakan MSCOMM yang dapat ditambahkan dengan cara, klik kanan pada ToolBar dan pilih Components:
Kemudian cari Microsoft Comm Control 6, dan klik Apply:
dan tambahkan MsComm tersebut pada Form1:
Kemudian susun semua komponen pada Form1 tersebut menjadi seperti ini:

Lakukan pengaturan pada properties sbb:

- Untuk mengubah warna background, klik pada Form1 dan pilih Properties --> BackColor.Untuk mengganti tulisan ganti Caption, misalnya menjadi Tes Port Serial.

- Pada properties Label, isi tulisan Caption menjadi Tes Port Serial, Alignment --> Centre, BackStyle --> 0-Transparent. Pada tampilan ini saya menggunakan Font --> MS Sans Serif --> regular --> 14.

- Pada Combo1 ganti Text menjadi 9600, dan pada Combo2 ganti Text menjadi COM1.

- Pada TextBox, hapus tulisan pada Text, pilih Multiline --> True, ScrollBars --> 2-Vertical, dan agar tulisannya seperti Hyperterminal, ganti Font menjadi Terminal --> Regular --> 14.

- Pada Command1, ganti (Name) --> cmdConnect dan Caption -->Connect. Pada Command2, ganti (Name) --> cmdDisconnect dan Caption --> Disconnect. Font yang saya gunakan adalah MS Sans Serif --> Regular --> 10.

- Pada Timer1 beri nilai interval 1000, yang berarti 1000 milisecond atau 1 detik.

Biasakanlah untuk memberi nama CommandButton dengan awalan cmd, Label dengan awalan lbl, dan TextBox dengan awalan txt, tujuannya untuk mempermudah pengenalan jika program yang dibuat terdiri dari banyak CommandButton, Label, dan TextBox. 
Kemudian simpan dengan pilih, File --> Save Project AS.

Jika pengaturan sudah selesai, maka tampilan Form1 menjadi seperti ini:

Klik pada bagian dalam Form yang berwarna, sehingga muncul tulisan sbb:
Kemudian isikan dengan listing program berikut:

Private Sub Form_Load()
With Combo1
        .AddItem "COM1"
        .AddItem "COM2"
        .AddItem "COM3"
        .AddItem "COM4"
        .AddItem "COM5"
        .AddItem "COM6"
        .AddItem "COM7"
        .AddItem "COM8"
        .AddItem "COM9"
End With

With Combo2
        .AddItem "2400"
        .AddItem "4800"
        .AddItem "9600"
        .AddItem "19200"
        .AddItem "38400"
        .AddItem "56600"
End With

Timer1.Enabled = False
cmdConnect.Enabled = True
cmdDisconnect.Enabled = False

End Sub

Program diatas berarti akan dijalankan ketika form di load, atau ketika program VB Tes Port Serial ini dibuka.

Klik pada cmdConnect sehingga muncul tulisan sbb:
dan ketikkan listing program sbb:

Private Sub cmdConnect_Click()
Dim port As Integer
On Error GoTo errcode
Select Case Combo1.ListIndex
Case -1
    port = 1
Case 0
    port = 1
Case 1
    port = 2
Case 2
    port = 3
Case 3
    port = 4
Case 4
    port = 5
Case 5
    port = 6
Case 6
    port = 7
Case 7
    port = 8
Case 8
    port = 9
End Select
If MSComm1.PortOpen = False Then
    MSComm1.CommPort = port
    MSComm1.RThreshold = 1
    MSComm1.InputLen = 40
    MSComm1.Settings = Combo2.List(Combo2.ListIndex) & ",N,8,1"
    MSComm1.PortOpen = True
cmdConnect.Enabled = False
cmdDisconnect.Enabled = True
End If

Exit Sub

errcode:
    MsgBox "Port Salah !", vbOKOnly, "Peringatan"
    Combo1.SetFocus
End Sub

Program diatas akan dijalankan ketika button Connect diklik, yang berarti jika pemilihan port yang digunakan benar maka port serial akan terbuka atau True, dan jika salah maka akan tampil peringatan "Port Salah!". 
InputLen adalah banyaknya data yang diterima port serial pada sekali pengiriman, diberi nilai semaksimal mungkin, misalnya 40 karakter.
Settings adalah pengaturan komunikasi serial, baud rate didapatkan dari pemilihan nilai pada Combo2, N adalah Parity None, 8 adalah Data bits, dan 1 adalah Stop bits, sama seperti pengaturan pada HyperTerminal yang telah dijelaskan sebelumnya.
Jika port serial sudah terhubung maka cmdConnect disabled dan cmdDisconnect enabled.

atau bisa juga untuk deteksi port secara otomatis sbb:
Private Sub cmdConnect_Click()
Dim port As Integer

On Error Resume Next
For port = 1 To 20
If MSComm1.PortOpen = False Then
    MSComm1.CommPort = port
    Combo1.ListIndex = (MSComm1.CommPort) - 1
    MSComm1.RThreshold = 1
    MSComm1.InputLen = 40
    MSComm1.Settings = Combo2.List(Combo2.ListIndex) & ",N,8,1"
    MSComm1.PortOpen = True
cmdConnect.Enabled = False
cmdDisconnect.Enabled = True
End If
Next

Exit Sub
End Sub

Kalau deteksi secara otomatis, COM Port tidak perlu dipilih, yang harus dipilih baud rate nya saja, lalu nanti tampilan Combo Box untuk COM Port sesuai dengan hasil deteksi.

Klik pada cmdDisconnect dan ketikkan listing program sbb:

Private Sub cmdDisconnect_Click()
If MSComm1.PortOpen = True Then
    MSComm1.PortOpen = False
End If
cmdConnect.Enabled = True
cmdDisconnect.Enabled = False
End Sub

Jika port serial terputus, maka cmdConnect enabled, cmdDisconnect disabled, dan Timer1 non aktif.

Klik pada MsComm1 dan ketikkan listing program sbb:

Private Sub MSComm1_OnComm()
Dim buffer As String
Dim temp As String

buffer = MSComm1.Input
If buffer <> "" Then
With Text1
    .SelStart = Len(.Text)
    .SelText = buffer
End With
End If
End Sub 

Buffer merupakan variabel yang akan menerima data dari port serial atau MsComm1.Input, jika data tidak kosong atau "", maka pada Textbox1 ditambahkan baris setiap menerima data.

Klik pada Timer dan ketikkan listing program sbb:

Private Sub Timer1_Timer()
MSComm1_OnComm
End Sub

yang berarti akan memanggil sub program MsComm1_OnComm sebagai pengambilan data serial, setiap interval waktu timer, yaitu 1 detik.
Pengaturan interval waktu pengambilan data ini bisa dilakukan dengan program VB dengan timer seperti ini, tetapi bisa juga tidak menggunakan timer dan menerima interval waktu yang sudah diatur pada mikrokontroler.
Jika tidak ingin menggunakan Timer dari VB, alias Timer sesuai dengan data pengiriman mikrokontroler, maka sub program Timer tidak perlu dipakai.

Sekarang, program antarmuka untuk menampilkan data port serial sudah selesai, jangan lupa di save. Kemudian lakukan ujicoba, ingat saat ujicoba jangan mengaktifkan HyperTerminal, karena port serial tidak bisa dipakai bersamaan.
Jalankan program, pilih COM yang digunakan, misalnya COM1, lalu Baud rate sesuai dengan program Bascom AVR diatas adalah 9600, dan klik Connect.
Maka akan tampil data yang dikirimkan dari mikrokontroler tsb sbb:


Jika menerima data dari mikrokontroler ke Visual Basic sudah dimengerti, sekarang kita coba untuk mengirim data dari visual basic ke mikrokontroler.

Tambahkan dua buah CommandButton beri nama cmdTes (caption = "Konfirmas") dan cmdKirim (caption = "Kirim"), dan satu TextBox dengan nama txtdata, seperti ini:
Tambahkan program berikut pada Private Sub Form_Load():
cmdKirim.Enabled = False
cmdTes.Enabled = False

dan tambahkan program berikut pada Private Sub cmdConnect_Click()
cmdKirim.Enabled = True
cmdTes.Enabled = True

Klik pada cmdTes dan ketikkan:
Private Sub cmdTes_Click()
MSComm1.Output = "X" & Chr$(13)
End Sub
yang berarti, VB akan mengirimkan karakter "X" atau x besar melalui port serial.

Klik pada cmdKirim dan ketikkan:
Private Sub cmdKirim_Click()
MSComm1.Output = txtdata.Text & Chr$(13)
MSComm1_OnComm
End Sub
yang berarti VB akan mengirimkan tulisan pada TextBox txtdata melalui port serial.

Program Bascom AVR nya diubah menjadi seperti ini:
'=======================================
'Tes Port Serial
'Wahyu Rahmaniar
'Technologination
'=======================================

$regfile = "m32def.dat"
$crystal = 11059200
$baud = 9600

Dim Char As String * 10

Mulai:
Do
Char = Inkey()
   If Char = "X" Then
      Print "Respon OK"
      Gosub Terima_data
   Else
      Print "Tes Port Serial"
      Wait 1
      Print "By Technologination"
      Wait 1
      Print "Wahyu Rahmaniar"
      Wait 1
   End If
Loop

Terima_data:
Do
Char = Inkey()
Input Char Noecho
Print "Data yang dikirim: " ; Char

If Char = "X" Then
Goto Mulai
End If
Loop

Jika kita meng-klik button Konfirmasi pada VB maka akan dikirimkan karakter "X", dan diterima oleh bascom dengan perintah inkey(), jika bascom menerima "X" maka mikrokontroler akan mengirimkan tulisan "Respon OK" ke VB, jika VB menampilkan "Respon OK" juga maka data pada TextBox txtdata dapat diisi kemudian klik button Kirim. Data tsb diterima oleh mikrokontroler dan dikirimkan kembali ke port serial dengan tulisan "Data yang dikirimkan: " (txtdata). 

Untuk kembali ke program awal menerima data dari mikrokontroler, klik kembali button Konfirmasi. Hasilnya sbb:
data yang dikirim adalah "ayuchan", kemudian diterima kembali oleh VB menjadi: "Data yang diterima: ayuchan".

Source code program Bascom AVR dan Visual Basic ini dapat didownload disini.

Tambahan, cara untuk menampilkan data per textbox dari tiga parameter.
Caranya, tambahkan sebuah textbox dengan nama Text2.text. Kemudian di copy dan paste pada form, jika ada peringatan:
"You already have a control name "Text2". Do you want to create a control array?"
maka pilih yes, dan setiap copy dari Text2 menjadi nilai array berurutan, perhatikan Properties --> Index.

Biasanya array dimulai dari nilai 0, ambil Text2.Text dengan nilai array 1 sampai 3, kemudian susun seperti ini:
Pada Text2.Text ini font yang saya gunakan sama seperti pada Text1.Text, yaitu Terminal --> regular --> 14, dengan Alignment --> 2- Center.
Ubah sub program Mscomm1_OnComm() menjadi:

Private Sub MSComm1_OnComm()
Dim buffer As String
Dim temp As String
Dim pisah() As String
Dim i As Integer

If MSComm1.CommEvent = comEvReceive Then
    buffer = MSComm1.Input
    pisah = Split(buffer, Chr$(13))
On Error Resume Next
    If buffer <> " " Then
      With Text1
      .SelStart = Len(.Text)
      .SelText = buffer
      End With
      For i = 1 To 3
        Text2(i).Text = CStr(pisah(i))
      Next i
    Else
       buffer = " "
    End If
End If
End Sub

Split berfungsi sebagai pemisah data berdasarkan suatu karakter tertentu, contoh diatas dipisahkan jika ada chr(13) atau enter, dan setiap data yang dipisahkan menjadi satu data array, yang kemudian ditempatkan pada array Text2.Text.

Pada bagian ini : Text2(i).Text = CStr(pisah(i)), jika datanya string, ubah menjadi string (CSTR), jika double sebaiknya ubah menjadi double (CDBL), karena akan mempengaruhi penyimpanan data yang nanti akan dijelaskan pada postingan berikutnya.

Pada program bascom, untuk pengiriman datanya diubah menjadi:
Print "Tes Port Serial"
Print "By Technologination" 
Print "Wahyu Rahmaniar"

Data dikirimkan tanpa delay, agar ditampilkan pada masing-masing array Text2.Text secara berurutan. Data dikirimkan setiap enter atau chr(13) alias dipisahkan dengan enter atau chr(13).

Hasilnya seperti ini: