Ketika kita mengakses sebuah website, kemungkinan besar kita pernah melihat kode-kode angka yang muncul di browser, seperti "404" atau "200". Kode-kode ini adalah kode status HTTP, yang digunakan untuk menginformasikan status dari permintaan yang kita kirimkan ke server.
Kode status HTTP terbagi menjadi beberapa kategori utama
"100" Continue / Terus Berjalan. Server telah menerima permintaan dan klien dapat melanjutkan mengirim badan permintaan.
"101" Switching Protocols / Beralih Protokol. Server sedang beralih protokol, biasanya dari HTTP ke protokol lain seperti WebSocket.
"200" OK. Permintaan berhasil diproses.
"201" Created / Dibuat. Permintaan telah terpenuhi dan menghasilkan sumber daya baru.
"202" Accepted / Diterima. Permintaan telah diterima untuk diproses, tetapi pemrosesan belum selesai.
"204" No Content / Tidak Ada Konten. Server telah memproses permintaan dengan sukses, tetapi tidak mengembalikan konten.
"301" Moved Permanently / Pindah Secara Permanen. Sumber daya yang diminta telah dipindahkan secara permanen ke URI baru.
"302" Found / Ditemukan. Sumber daya yang diminta telah dipindahkan sementara ke URI baru.
"304" Not Modified / Tidak Dimodifikasi. Klien telah melakukan permintaan GET bersyarat dan akses diizinkan, tetapi dokumen tidak dimodifikasi.
"400" Bad Request / Permintaan Buruk. Server tidak dapat atau tidak akan memproses permintaan karena kesalahan klien.
"401" Unauthorized / Tidak Sah. Permintaan memerlukan autentikasi pengguna.
"403" Forbidden /Dilarang. Klien tidak memiliki hak akses ke konten, meskipun permintaan telah diautentikasi.
"404" Not Found / Tidak Ditemukan. Server tidak dapat menemukan sumber daya yang diminta.
"500" Internal Server Error / Kesalahan Server Internal. Server mengalami kondisi tak terduga yang mencegahnya memenuhi permintaan.
"501" Not Implemented / Belum Diterapkan. Server tidak mendukung fungsionalitas yang diperlukan untuk memenuhi permintaan.
"503" Service Unavailable / Layanan Tidak Tersedia. Server saat ini tidak dapat menangani permintaan karena kelebihan beban atau pemeliharaan.
Memahami kode status HTTP ini penting untuk pengembangan web, karena kode-kode ini memberikan informasi tentang respons server terhadap permintaan klien. Dengan mengetahui arti dari kode-kode ini, kita dapat lebih efektif dalam mendiagnosis dan mengatasi masalah yang terjadi saat mengakses sebuah website.
DKIM record atau DomainKeys Identified Mail adalah metode otentikasi email yang menambahkan tanda tangan kriptografi pada pesan email.
Tanda tangan ini memastikan agar email yang dibuat berasal dari sumber terpercaya dan tidak diubah maupun dipalsukan saat transit antara server pengirim dan penerima.
Ketika Anda mengirimkan email, nantinya akan ada sepasang private/public key. Private key digunakan untuk menandai email, sedangkan public key akan diterbitkan pada DNS domain dengan menggunakan TXT record.
Inti dari sistem email tidak dibekali dengan protokol keamanan, sehingga akan sangat mudah untuk mengirim email yang dikirim oleh sumber asli (email spoofing) Di dalam email spoof, alamat email yang ditampilkan ke penerima akan berbeda dengan email aslinya.
Sebagai contoh, penerima email melihat email pengirimnya sebagai Alamat email ini dilindungi dari robot spam. Anda memerlukan Javascript yang aktif untuk melihatnya., tetapi email yang sebenarnya adalah Alamat email ini dilindungi dari robot spam. Anda memerlukan Javascript yang aktif untuk melihatnya.. Karena penerima email tidak dapat melihat siapa pengirim aslinya, teknik ini biasanya digunakan untuk tindakan phishing dan serangan spam.
Dengan menggunakan DKIM, server penerima email (ISP) dapat memverifikasi email yang datang, apakah email tersebut otentik berasal dari domain yang dicantumkan pada alamat email. Jadi, dengan begitu penipu akan kesusahan untuk melakukan phishing menggunakan brand Anda.
Memiliki email terotentikasi juga dapat membantu Anda dalam membangun reputasi domain pada ISP dan server email. Domain dengan email yang otentik akan memiliki skor reputasi yang lebih tinggi. Nantinya, email Anda tidak akan masuk ke folder spam.
DKIM record berada di dua server, yaitu server pengirim dan penerima. Pada server pengirim, badan dan header outbound email akan diubah ke hash (deretan teks unik yang juga dikenal sebagai kriptografi). LAlu, private key digunakan untuk menandai hashnya.
Bila, server penerima menemukan DKIM signature, maka server akan mengambil public key dari domain pengirim yang terdapat pada TXT/DKIM record sebagai tindakan validasi. Kemudian, signature tersebut akan didekripsi kembali menjadi hash yang sebetulnya.
Setelah mendapatkan hash yang telah terdekripsi, server penerima akan membuat hashnya sendiri dari header dan badan email. Jika hash yang didekripsi sesuai dengan hash yang baru saja dibuat oleh server penerima, artinya email tersebut asli dan belum ada yang mengutak-atiknya.
Cara mengimplementasi DKIM record ke email Anda tentu saja berbeda-beda tergantung pada layanan email yang dipakai. Namun, secara umum ada beberapa langkah untuk mengimplementasikan DKIM:
Buat Selector Anda Sendiri
Satu domain bisa memiliki beberapa public key jika domain tersebut memiliki lebih dari satu mail server (tiap mail server memiliki private key sendiri yang hanya cocok dengan satu public key.) Selector adalah atribut yang ada dalam DKIM signature untuk membantu server penerima dalam menemukan public key yang benar dari DNS pengirim.
Membuat Private-Public Key
Untuk langkah ini, Anda memerlukan tool yang sesuai dengan sistem operasi perangkat Anda. SSH-Keygen adalah tool terbaik untuk perangkat Linux dan Mac. Sedangkan user Windows dapat membuat keypair dengan dengan PuTTY.
Menambahkan DKIM Record ke Domain Anda
Setelah mendapatkan public key, Anda perlu menempelkannya di tempat yang tepat pada DNS record Anda. Untuk melakukannya pun, Anda memiliki cara yang berbeda, tergantung pada layanan hosting yang dipakai.
Login ke cpanel dan pilih domain yang diinginkan. Masuk ke DNS Zone Editor dan isi TXT (text) record dengan format berikut ini:
selector-name._domainkey
Spoofing email adalah permasalahan umum. Untuk mengatasinya, penyedia layanan email memerlukan semacam metode untuk memastikan bahwa email yang masuk berasal dari sumber yang sah.
DKIM Record merupakan salah satu teknologi penting dalam menjaga keamanan email. Dengan mengimplementasikan DKIM, domain pengirim dapat meningkatkan reputasi dan kepercayaan email mereka, serta mengurangi risiko serangan phishing dan spam. Jika Anda belum menerapkan DKIM Record, segera pertimbangkan untuk mengkonfigurasinya di domain Anda.
Dalam dunia digital marketing, pemilihan keyword yang tepat merupakan kunci keberhasilan dalam meningkatkan visibilitas dan performa konten Anda di mesin pencari. Tidak semua keyword dibuat sama, ada beragam jenis keyword yang perlu Anda pahami untuk mendapatkan hasil optimal.
Keyword frasa adalah keyword yang terdiri dari dua atau lebih kata yang membentuk satu ekspresi atau frasa yang utuh. Contohnya "digital marketing strategy", "best hiking trails", "organic food recipes". Keyword frasa cenderung lebih spesifik dan memiliki tingkat persaingan yang lebih rendah dibandingkan keyword tunggal.
Keyword long-tail adalah keyword yang terdiri dari 3-5 kata dan lebih spesifik dibandingkan keyword umum. Contohnya "best hiking trails in Yosemite National Park", "healthy vegetarian recipes for dinner". Meski memiliki volume pencarian yang lebih kecil, keyword long-tail biasanya memiliki tingkat konversi yang lebih tinggi.
Keyword kombinasi adalah keyword yang merupakan gabungan dari beberapa kata kunci. Contohnya "budget-friendly family vacation ideas", "top-rated smartphones under $500". Keyword kombinasi memungkinkan Anda menjangkau audiens yang lebih spesifik dan terfokus.
Keyword modifiers adalah kata-kata yang ditambahkan ke keyword dasar untuk membuat keyword yang lebih spesifik. Contoh modifier seperti "best", "cheap", "top", "how to", "review", "guide", dll. Contohnya "best digital cameras under $500", "how to lose weight fast".
Keyword lokasi adalah keyword yang menambahkan lokasi atau area geografis tertentu. Contohnya "family-friendly hotels in Bali", "plumbers in Los Angeles". Keyword lokasi sangat berguna bagi bisnis yang melayani pelanggan di area geografis tertentu.
Dengan memahami ragam jenis keyword ini, Anda dapat mengembangkan strategi keyword yang lebih efektif dan meningkatkan kemungkinan konten Anda ditemukan oleh audiens yang tepat. Pilihlah kombinasi keyword yang sesuai dengan tujuan dan target audiens Anda.
impor file *SQL ke Database (XAMPP)
Error
Static analysis:
1 errors were found during analysis.
Missing expression. (near "ON" at position 25)
SQL query: Copy Edit Edit
SET FOREIGN_KEY_CHECKS = ON;
MySQL said: Documentation
#2006 - MySQL server has gone away
Solusi?
1. Buka XAMPP control panel
2. Stop -> Apache and MySql services
3. Klik "Config Apache" -> pilih "php.ini" dan ubah line berikut:
max_execution_time = 600
max_input_time = 600
memory_limit = 1024M
post_max_size = 1024M
4. Klik "Config MySQL" -> pilih "my.ini" dan ubah line berikut:
max_allowed_packet = 1024M
5. Start -> Apache and MySql services
...
silahkan import file *SQL anda, semoga berhasil :)
Dalam era digital yang semakin berkembang, banyak orang mengandalkan media sosial dan platform berbagi konten untuk berinteraksi dengan orang lain dan mempromosikan konten mereka. Salah satu aspek penting dari berbagi konten di platform-platform ini adalah tampilan yang menarik dan informatif ketika konten tersebut dibagikan. Di sinilah peran Open Graph hadir sebagai standar protokol yang memungkinkan pengguna untuk mengontrol tampilan konten saat dibagikan di platform-platform tersebut.
Open Graph adalah sebuah protokol yang dikembangkan oleh Facebook dengan tujuan untuk memungkinkan konten web memiliki tampilan yang konsisten dan menarik saat dibagikan di media sosial dan platform lainnya. Protokol ini mengharuskan pengguna mengintegrasikan beberapa tag HTML ke dalam kode sumber halaman web mereka sehingga platform-platform tersebut dapat memahami dan menampilkan informasi yang relevan ketika konten tersebut dibagikan.
Fungsi utama Open Graph adalah memberikan kontrol kepada pengguna mengenai tampilan konten mereka saat dibagikan di media sosial. Dengan menggunakan Open Graph, pengguna dapat menentukan judul, deskripsi, gambar, dan informasi lainnya yang akan muncul saat konten tersebut dibagikan. Hal ini memungkinkan pengguna untuk membuat tampilan yang menarik dan informatif, yang dapat meningkatkan daya tarik dan keterlibatan pengguna saat melihat dan berinteraksi dengan konten tersebut.
Selain itu, Open Graph juga memungkinkan platform-platform sosial untuk memahami konten dengan lebih baik. Dengan menggunakan tag-tag Open Graph, platform dapat mengenali tipe konten (seperti artikel, produk, video, atau musik) dan mengambil informasi yang relevan untuk ditampilkan dalam tautan yang dibagikan. Misalnya, jika sebuah artikel dibagikan, platform sosial dapat menampilkan judul, gambar, dan deskripsi artikel tersebut secara otomatis.
Berikut adalah beberapa langkah untuk menggunakan Open Graph dalam halaman web Anda:
Untuk menggunakan Open Graph, Anda perlu menambahkan tag-tag Open Graph ke dalam kode sumber halaman web Anda. Tag-tag ini mencakup tag <meta> yang menyediakan informasi seperti judul, deskripsi, gambar, tipe konten, dan URL halaman.
Setelah menambahkan tag-tag Open Graph, Anda perlu mengisi informasi yang relevan untuk setiap tag. Pastikan untuk memberikan judul yang menarik, deskripsi yang singkat namun informatif, gambar yang menarik, dan URL halaman yang benar.
Setelah menambahkan tag-tag Open Graph, Anda dapat menggunakan alat Validasi Open Graph yang disediakan oleh Facebook. Alat ini akan memeriksa halaman web Anda dan memberikan umpan balik mengenai kesalahan atau masalah yang perlu diperbaiki.
Setelah tag-tag Open Graph ditambahkan dan divalidasi, Anda dapat menguji tampilan konten Anda saat dibagikan di platform-platform sosial. Bagikan konten Anda di media sosial dan periksa apakah tampilannya sesuai dengan yang Anda inginkan. Jika ada masalah, periksa kembali kode sumber halaman web Anda dan pastikan tag-tag Open Graph diatur dengan benar.
---
Meskipun Open Graph pertama kali dikembangkan oleh Facebook, protokol ini telah diterima secara luas oleh berbagai platform media sosial dan mesin pencari lainnya.
Meskipun tag-tag Open Graph awalnya dirancang untuk digunakan dengan Facebook, platform lain seperti Twitter, LinkedIn, Pinterest, dan banyak lagi sekarang juga mendukung penggunaan tag-tag Open Graph. Ini berarti bahwa konten yang menggunakan tag-tag Open Graph akan memiliki tampilan yang konsisten dan informatif ketika dibagikan di berbagai platform tersebut.
Selain itu, mesin pencari seperti Google juga mengambil manfaat dari tag-tag Open Graph untuk menampilkan tampilan yang lebih baik saat hasil pencarian mengandung tautan ke halaman web yang menggunakan tag-tag tersebut. Dengan menggunakan Open Graph, Anda dapat meningkatkan kemungkinan bahwa konten Anda akan muncul dengan tampilan yang menarik dan relevan di berbagai platform media sosial dan mesin pencari.
Dengan demikian, Open Graph adalah protokol yang berlaku secara luas dan dapat digunakan untuk meningkatkan tampilan dan keterlibatan konten Anda di berbagai platform media sosial dan mesin pencari.
PHP Calculate Percentages:
jika angka untuk menghitung presentase = 0 (NOL) dan total pembagi > 0 (lebih besar dari NOL) ini tidak akan menimbulkan masalah.
jika angka untuk menghitung presentase = 0 (NOL) dan total pembagi = 0 (NOL) saya dapat error seperti dibawah
PHP Warning: Division by zero in
Solusi: buat function
untuk format presentase, fuction
untuk menghitung presentase, dan fuction
untuk menampilkan format presentase
function format_percentage($percentage_round, $precision_round = 2) {
return round($percentage_round, $precision_round) . '%';
}
function calculate_percentage($number_round, $total_round) {
// buat kondisi jika total pembagi = 0 (NOL).
if ($total_round == 0) {
return 0;
}
return ($number_round / $total_round) * 100;
}
function calculate_percentage_display($number_round, $total_round) {
return format_percentage(calculate_percentage($number_round, $total_round));
}
bagaimana jika angka untuk menghitung presentase > (lebih besar) dari total pembagi.
echo '<br/>'.calculate_percentage_display(50, 250); // = 20%
echo '<br/>'.calculate_percentage_display(30, 1110); // = 2.7%
echo '<br/>'.calculate_percentage_display(0, 250); // = 0%
echo '<br/>'.calculate_percentage_display(0, 0); // = 0%
echo '<br/>'.calculate_percentage_display(250, 0); // = 0%
echo '<br/>'.calculate_percentage_display(250, 99); // = 252.53%
results
Banyak sekali fitur baru yang keluar di ES2015 (ES6). Salah satu dari fitur yang keluar di ES6 adalah adanya tambahan let
dan const
, yang mana bisa digunakan untuk mendeklarasikan variabel. Pertanyaan nya adalah, apa yang membuat fitur tersebut berbeda dari var
yang dulu sering kita gunakan?
Sebelum kedatangan ES6, deklarasi var
diatur. Ada masalah terkait variabel var
ini. Itulah kenapa perlu adanya pendeklarasian baru untuk variabel. Mari pahami lebih dulu apa itu var
sebelum lanjut membahas permasalahan tersebut.
Pada dasarnya Scope adalah dimana variabel itu akan digunakan. Pendeklarasian var
adalah secara global atau secara function/lokal.
Scope global terjadi jika variabel var
di deklarasikan diluar function. Ini artinya variabel yang di deklarasikan dengan var
diluar blok function dapat digunakan di seluruh tempat.
var
menjadi function Scope jika di delarasikan didalam function. Ini berarti var
tersedia dan hanya dapat di akses didalam function tersebut.
Untuk memahami lebih jauh, lihat contoh dibawah ini.
var greeter = "hey hi";
function newFunction() {
var hello = "hello";
}
Disini, greeter
adalah Scope global karena berada diluar function sementara hello
adalah function Scope. Jadi kita tidak bisa mengakses variabel hello
diluar function. Jika seperti ini:
var tester = "hey hi";
function newFunction() {
var hello = "hello";
}
console.log(hello); // error: hello is not defined
Kita akan mendapatkan error yang diakibatkan oleh hello
karena tidak berada diluar function.
Ini berarti kita dapat melakukannya di Scope yang sama dan tidak akan eror.
var greeter = "hey hi";
var greeter = "say Hello instead";
dan ini juga:
var greeter = "hey hi";
greeter = "say Hello instead";
Hoisting adalah mekanisme JavaScript dimana pendeklarasian variabel dan function naik ke atas Scope nya sebelum kode di eksekusi. Berarti jika kita melakukan ini:
console.log (greeter);
var greeter = "say hello"
dapat diartikan seperti ini:
var greeter;
console.log(greeter); // greeter is undefined
greeter = "say hello"
Jadi variabel var
di naikkan ke atas Scope nya dan diinisialisasi dengan nilai undefined
.
Ada kelemahan didalam var
. Saya akan gunakan contoh berikut untuk menjelaskannya:
var greeter = "hey hi";
var times = 4;
if (times > 3) {
var greeter = "say Hello instead";
}
console.log(greeter) // "say Hello instead"
Jadi, jika times > 3
adalah benar, greeter
berubah, ke "say Hello instead"
. Selagi ini bukan masalah jika kamu memang menginginkan greeter
berubah, ini menjadi masalah jika kamu tidak menyadari bahwa variabel greeter
telah ditentukan sebelumnya.
Jika kamu menggunakan greeter
di bagian kode mu yang lain, kamu mungkin akan terkejut dengan hasil yang akan kamu dapatkan. Ini akan menjadikan kode mu penuh bug. Inilah sebabnya let
dan const
diperlukan.
let
sekarang lebih disukai untuk pendeklarasian variabe, datang dengan penyempurnaan terhadap variabel var
.
Blok adalah bagian dari kode yang dikelilingi oleh {}. Blok terdapat di tanda kurung kurawal. Apapun yang berada didalam tanda kurung kurawal adalah blok.
Jadi variabel yang di deklarasikan didalam blok dengan let
hanya tersedia untuk dipakai didalam blok tersebut. Saya akan menjelaskannya dengan contoh dibawah ini:
let greeting = "say Hi";
let times = 4;
if (times > 3) {
let hello = "say Hello instead";
console.log(hello);// "say Hello instead"
}
console.log(hello) // hello is not defined
Kita dapat melihat jika kita menggunakan hello
diluar blok nya (tanda kurung kurawal) itu menjadi error. Ini dikarenakan variabel let
adalah Scope blok.
Seperti layaknya var
, variabel yang di deklarasikan dengan let
dapat diperbaharui didalam scope nya. Tidak seperti var
, variabel let
tidak dapat di deklarasikan ulang didalam scope nya. Jadi ini akan berhasil:
let greeting = "say Hi";
greeting = "say Hello instead";
ini akan error:
let greeting = "say Hi";
let greeting = "say Hello instead"; // error: Identifier 'greeting' has already been declared
Namun, jika variabel yang sama dibuat di scope yang berbeda, tidak akan error:
let greeting = "say Hi";
if (true) {
let greeting = "say Hello instead";
console.log(greeting); // "say Hello instead"
}
console.log(greeting); // "say Hi"
Kenapa tidak error? Karena kedua variabel tersebut diperlakukan berbeda karena scope nya pun berbeda
Fakta ini membuat let
menjadi pilihan yang lebih baik dibanding var
. Jika menggunakan let
, kamu tidak perlu pusing menggunakan nama untuk variabel yang digunakan sebelumnya karena variabel nya berada di scope yang berbeda. Dan juga, karena variabel tidak dapat di deklarasikan lebih dari sekali di scope nya.
Seperti layaknya var
, pendeklarasian let
akan dinaikkan ke atas. Tidak seperti var
akan terinisialisasi undefined
, let
tidak akan terinisialisasi. Jadi jika kamu coba menggunakan variabel let
sebelum di deklarasi, kamu akan mendapatkan Reference Error
.
Variabel yang di deklarasikan dengan const
akan mempertahankan nilai nya. const
hampir mirip dengan let
.
Seperti let, const hanya dapat di akses didalam blok dimana variabel tersebut di deklarasikan.
Ini berarti nilai variabel const tetap sama selagi didalam scope nya. Tidak dapat diperbaharui atau di deklarasikan ulang. Jadi jika kita mendeklarasikan variabel dengan const, kita dapat melakukan seperti ini:
const greeting = "say Hi";
greeting = "say Hello instead";// error: Assignment to constant variable.
dan juga ini:
const greeting = "say Hi";
const greeting = "say Hello instead";// error: Identifier 'greeting' has already been declared
Maka dari itu, Semua deklarasi const, harus diinisialisasi di waktu pendeklarasian nya.
Aturan ini entah bagaimana berbeda ketika const di deklarasikan ke objek. Selagi objek const tidak dapat di perbaharui, properti nya dapat di perbaharui. Oleh karena itu, jika kita mendeklarasikan objek const seperti ini:
const greeting = {
message: "say Hi",
times: 4
}
kita tidak dapat melakukan ini:
greeting = {
words: "Hello",
number: "five"
} // error: Assignment to constant variable.
tapi kita dapat melakukan ini:
greeting.message = "say Hello instead";
Ini akan memperbaharui nilai dari greeting.message
tanpa error.
Seperti layaknya let
, const
pendeklarasian nya akan dinaikkan ke atas tapi tidak akan diinisialisasi.
var
adalah scope global atau scope function sementara let
dan const
adalah scope blok.var
dapat diperbaharui dan dideklarasikan ulang didalam scope nya; variabel let
dapat diperbaharui namun tidak dapat dideklarasikan ulang; variabel const
juga tidak dapat diperbaharui maupun di deklarasikan ulang.var
akan diinisialisasi dengan undefined
, let
dan const
tidak akan diinisialisasivar
dan let
bisa dideklarasikan tanpa diinisialisasi,const
harus diinisialisasi terlebih dahulu pada saat pendeklarasian nya.original article: Var, Let, and Const – What's the Difference?
Bismillah, everything will be OK
environment
function
VPS Pro Managed (Virtual Private Server)
---
implementation project: https://bandungbarat.siminat.co.id | are you interested? Call me
Joomla dapat menggunakan berbagai jenis database SQL dan berjalan diberbagai macam environments dengan table-prefixes yang berbeda. Untuk menyederhanakan code, rangakain query joomla dapat menghubungkan sejumlah method, satu demi satu dan setiap method mengembalikan object yang dapat mendukung method berikutnya.
koneksi database. untuk mendapatkan return object database, gunakan method getDbo JDatabase
$db = JFactory::getDbo();
query. untuk mendapatkan new instance dari class JDatabaseQuery gunakan method getQuery JDatabaseDriver
$db = JFactory::getDbo();
$query = $db->getQuery(true);
atau
$query = JFactory::getDbo()->getQuery(true);
JDatabaseDriver::getQuery mengambil argumen opsional, $new, bisa bernilai true atau false (defaultnya false).
return object user (yang login). jika tidak login Factory::getUser() return user id = 0 (nol)
$user = JFactory::getUser();
$user_id = $user->get('id');
untuk mendapatkan informasi user bisa dengan cara memangil function menggunakan id atau username (contoh user: id = 99)
$user = JFactory::getUser(99);
echo "<p>nama: {$user->name}, email: {$user->email}, username: {$user->username}</p>";
//nama: nama_user_99, email: email_user_99, username: username_user_99
A prenup, or prenuptial agreement, is a contract between two people that's created before they get married. It typically lists each person's assets, debts, and outlines how they'll be handled should the couple divorce later on. Prenups can be a valuable financial tool.
Ikatan Ners Kardiovaskular Indonesia (INKAVIN) adalah kelompok profesi perawat kardiovaskular Indonesia, berdiri sejak 14 Desember 1991. Menerapkan Nilai-nilai profesi keperawatan yaitu pengasuhan (Caring), pemeliharaan (nurturing), altruisme dan holistik.
"berawal dari sekedar hobby hingga mencetak prestasi" dari tahun 2008 kami berdiri dan bertekad untuk membangun bisnis yang memiliki daya saing untuk menciptakan produk-produk dan jasa layanan yang dapat memberikan manfaat bagi masyarakat secara luas. tidak hanya mengedapankan kualitas, kepuasan anda merupakan salah satu tujuan kami.
© 2008-2023 inisialdotcom