Belajar Jaringan - Belajar Pemrograman

Beranda Tentang Kontak

Jumat, 22 April 2016

Cara Mengubah Ukuran Gambar Background Dengan CSS

Cara Mengubah Ukuran Gambar Background dengan CSS — Panduan Lengkap & Modern (2025)

Apakah Anda pernah mengalami masalah di mana gambar background website atau halaman login hotspot terlihat terlalu besar, terpotong, atau tidak responsif di berbagai ukuran layar? Jika ya — Anda tidak sendirian. Masalah ini sangat umum, terutama saat mengelola halaman login hotspot untuk warnet, café, hotel, atau tempat umum.

Untungnya, dengan CSS modern — khususnya properti background-size — Anda bisa mengontrol ukuran gambar background secara presisi, tanpa perlu mengedit file gambar aslinya. Tutorial ini akan membahas cara mengubah ukuran gambar background dengan CSS secara lengkap — termasuk contoh nyata, kode siap pakai, dan tips best practice terkini.

📌 Studi Kasus Nyata: Login Hotspot Warnet di Papua

Masalah ini pertama kali saya temui saat membantu setting halaman login hotspot untuk sebuah warnet dan café di Papua. Klien menginginkan tampilan background gambar penuh layar (full browser) dengan teks login yang rapi dan estetik. Namun, karena gambar aslinya berukuran sangat besar (misal: 4000x3000 piksel), tampilannya jadi kacau — teks login tersembunyi, gambar terpotong, dan layout tidak responsif.

edit css background blogspot responsive

🛠️ Cara Mengubah Ukuran Gambar Background dengan CSS — Kode Modern

Berikut adalah kode CSS dasar yang saya gunakan untuk memperbaiki masalah tersebut:

body {
  background-image: url('img/cafe3.jpg');
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover; /* ✅ Rekomendasi modern */
  background-attachment: fixed;
  min-height: 100vh; /* ✅ Lebih baik dari 650px */
  margin: 0;
}

Penjelasan Properti CSS:

  • background-image: url(...) — Menentukan gambar background.
  • background-repeat: no-repeat — Mencegah gambar diulang.
  • background-position: center center — Memposisikan gambar di tengah layar.
  • background-size: cover — ✅ Best practice modern — gambar akan menutupi seluruh area tanpa distorsi, meskipun sebagian terpotong.
  • background-attachment: fixed — Membuat background tetap saat di-scroll (opsional).
  • min-height: 100vh — ✅ Lebih responsif dari 650px — menyesuaikan tinggi layar pengguna.

🎯 Perbedaan: background-size: 100% 100% vs cover vs contain

Banyak tutorial lama masih menggunakan background-size: 100% 100% — tapi ini sering menyebabkan distorsi gambar. Berikut perbandingannya:

Nilai Efek Kapan Digunakan
100% 100% Meregangkan gambar agar pas dengan lebar & tinggi container — sering menyebabkan distorsi. Hindari — kecuali gambar memang berbentuk persegi sempurna.
cover Gambar diperbesar agar menutupi seluruh area — tanpa distorsi, meskipun sebagian terpotong. ✅ Rekomendasi utama — untuk hero section, login page, background penuh.
contain Gambar diperkecil agar seluruhnya terlihat — tanpa distorsi, tapi mungkin ada ruang kosong. Untuk logo, ilustrasi, atau gambar yang harus utuh terlihat.

✅ Best Practices Modern (2025)

1. Gunakan cover untuk Background Penuh

Ini adalah standar industri untuk hero section, landing page, atau halaman login.

2. Gunakan 100vh untuk Tinggi Penuh Layar

Ganti min-height: 650px dengan min-height: 100vh agar responsif di semua perangkat.

3. Tambahkan Fallback Warna

Untuk antisipasi jika gambar gagal load:

body {
  background-color: #f0f0f0; /* fallback */
  background-image: url('img/cafe3.jpg');
  background-size: cover;
  background-position: center;
  min-height: 100vh;
}

4. Optimalkan Gambar untuk Web

Sebelum di-upload, kompres gambar dengan tools seperti: - Squoosh.app (gratis, open-source) - TinyPNG - Format modern: WebP atau AVIF (jika didukung)

5. Gunakan CSS Custom Properties (Opsional — untuk Fleksibilitas)

:root {
  --bg-image: url('img/cafe3.jpg');
}

body {
  background: var(--bg-image) center/cover no-repeat;
  min-height: 100vh;
}</code></pre>

  <h2>🔧 Contoh Lengkap: Halaman Login Hotspot</h2>

  <p>Berikut contoh kode HTML + CSS lengkap untuk halaman login hotspot yang responsif dan modern:</p>

  <pre><code><!DOCTYPE html>
<html lang="id">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Login Hotspot</title>
  <style>
    body {
      background: url('img/cafe3.jpg') center/cover no-repeat fixed;
      background-color: #2c3e50; /* fallback */
      margin: 0;
      padding: 0;
      font-family: Arial, sans-serif;
      min-height: 100vh;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .login-box {
      background: rgba(255, 255, 255, 0.9);
      padding: 2rem;
      border-radius: 12px;
      box-shadow: 0 8px 32px rgba(0,0,0,0.1);
      text-align: center;
      max-width: 400px;
      width: 90%;
    }

    h2 {
      margin-top: 0;
      color: #2c3e50;
    }

    input {
      width: 100%;
      padding: 0.75rem;
      margin: 0.5rem 0;
      border: 1px solid #ddd;
      border-radius: 6px;
      font-size: 1rem;
    }

    button {
      background: #3498db;
      color: white;
      border: none;
      padding: 0.75rem 1.5rem;
      border-radius: 6px;
      cursor: pointer;
      font-size: 1rem;
      margin-top: 1rem;
    }

    button:hover {
      background: #2980b9;
    }
  </style>
</head>
<body>
  <div class="login-box">
    <h2>Login Hotspot</h2>
    <form>
      <input type="text" placeholder="Username" required>
      <input type="password" placeholder="Password" required>
      <button type="submit">Login</button>
    </form>
  </div>
</body>
</html>

❓ FAQ — Pertanyaan Umum

Q: Apakah bisa pakai background-size: 100% 100%?

A: Bisa, tapi tidak disarankan — karena akan meregangkan gambar dan menyebabkan distorsi. Gunakan cover atau contain untuk hasil lebih baik.

Q: Gambar tetap terpotong — bagaimana solusinya?

A: Gunakan background-position untuk mengatur fokus gambar — misal: background-position: top center; atau left center.

Q: Bagaimana agar background tidak blur di layar besar?

A: Pastikan gambar asli beresolusi tinggi (minimal 1920x1080). Jangan gunakan gambar kecil yang diperbesar.

🔚 Penutup

Mengubah ukuran gambar background dengan CSS bukan lagi hal yang rumit — asalkan Anda menggunakan properti yang tepat dan mengikuti best practice modern. Dengan background-size: cover dan min-height: 100vh, Anda bisa membuat tampilan background yang responsif, estetik, dan profesional — tanpa perlu edit gambar aslinya.

Semoga tutorial ini membantu Anda — terutama bagi yang mengelola hotspot, landing page, atau website dengan background gambar besar. Jika ada pertanyaan, tinggalkan komentar di bawah!

Terima kasih telah membaca — semoga bermanfaat!

Jumat, 15 April 2016

Pengertian Function C++ DevC++

Mandailing Natal - Pengertian Function C++ DevC++ - function C++ devC++ merupakan kumpulan statement yang kan mengembalikan suatu nilai balik pada pemanggilnya (return) dan nilai setiap function harus di simpan dalam sebuah variable.
Hal ini sangat berbeda dengan yang di sebut procedure, beda keduanya yaitu jika function akan mengambalikan suatu nilai balik kepada fungsi yang memanggilnya, sedangkan procedur tidak mengambalikan nilai apapun terhadap fungsi yang memanggilnya.

Atau mungkin simplenya, function meruapakan sebuah subprogram yang memiliki tindakan pada sebuah data dan memberikan suatu nilai balik, setiap program di dalam C++ setidaknya harus memiliki sebuah function, (function main()). Ketika sebuah program di jalankan, function main() akan di panggil secara otomatis, function main() juga boleh memanggil function yang lainnya, begitupun function yang lain boleh memanggil function yang lainnya juga.

Masing-masing function harus memiliki sebuah nama, dan nama yang function ini akan di buat didalam body dari  program yang kita gunakan ,function sendiri memiliki dua jenis yaitu
  • Function yang di buat user (function user-defined
  • Function build-in (function bawaan)

Berikut ini contoh function  c++ yang saya coba menggunakan devC++:

#include <iostream>
using namespace std; 
 
int Tambah(int x, int y)
{
cout << "Function Tambah() Menerima Nilai X Adalah: " << x << " dan" << " Nilai Y adalah " << y <<"\n";
return (x+y);
}

int main()

{
int a, b ,c;
cout <<"Main nih dari programnnya\n";
cout <<"Isikan nilai X\n ";
cin >> a;
cout << "Isikan Nilai Y\n ";
cin >> b;

c=Tambah(a,b);
cout <<"Nilai C adalah: ";
cout << c;
return 0;
}

Mudah-mudahan Pengertian Function C++ DevC++ bermanfaat, saya juga lagi mencoba memahaminya...

Rabu, 23 Maret 2016

Cara Membuat Router Ubuntu Server

Mandailing Natal - Cara Membuat Router Ubuntu Server - cara membuat router mudah murah meriah, menggunakan ubuntu server, terserah ubuntu server berapa, bisa di gunakan jadi router, baik router warnet maupun router untuk hal lain yang anda butuhkan.


Cara mudah membuat router ubuntu server dengan virtualbox, dengan virtualbox, kita cukup menggunakan sebuah komputer yang di mana didalam komputer tersebut terinstall virtualbox, virtualbox tersebut kita anggap sebagai komputer kedua yang sekaligus juga menjadi router. Didalamnya terinstall ubuntu server.

Langkah pertama set tentunya dua buah lancard di virtual servernya, untuk mengecek interface yang aktif bisa di gunakan router ubuntu server ada dua perintah. perintah mengecek interface pada ubuntu.

ifconfig -a|grep eth
dan
lshw -C network
Dengan kedua perintah diatas kita bisa melihat nama interface yang aktif, misalnya eth1 dan eth0.

Langkah selanjutnya configurasi ip untuk masing-masing interface

nano /etc/network/interfaces

Isinya file /etc/network/interface ubuntu server kira-kira seperti berikut:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.3.1
netmask 255.255.255.0
network 192.168.3.0
broadcast 192.168.3.255
gateway 192.168.3.2
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 8.8.8.8
dns-search server
auto eth1
iface eth1 inet static
address 192.168.13.1
netmask 255.255.255.0
network 192.168.13.0
broadcast 192.168.13.255
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 8.8.8.8
dns-search server
Gambar interface ubuntu server seperti ini



ubah file /etc/sysctl.conf dan cari tulisan net.ipv4.ip_forward=1 hilangkan tanda pagar di belakang tulisan net.ipv4.ip_forward=1

edit /etc/sysctl.conf router ubuntu server kita dengan perintah

nano /etc/sysctl.conf 
kemudian cari tulisan di bawah ini dan hilangkan tanda pagarnya.

net.ipv4.ip_forward=1

Untuk gambar sysctl.conf bisa anda lihat seperti berikut ini:




Langkah configurasi router ubuntu server selanjutnya adalah dengan mengaktifkan iptables untuk masquerade ip local ke ip public, iptables ini bisa di sisipkan didalam file /etc/rc.local isi iptablesnya seperti ini.

nano /etc/rc.local

paste code di bawah ini kedalam file /etc/rc.local router ubuntu server

iptables –t nat –A POSTROUTING –o eth0 –j MASQUERADE
iptables –t nat –A POSTROUTING –s 192.168.13.0/24 –j MASQUERADE

code iptables diatas, baris pertama saja di gunakan sebenernya dapat berjalan dengan baik, namun jika anda ingin mengkhususkan network yang di masquerade bisa menggunakan perintah di bawahna juga.



Untuk membuat ip dhcp (dynamic host configurasion protocol) di router ubuntu server bisa membaca tulisan saya sebelumnya di blog saya.

Untuk yang tertarik menginstall radio broadcaster ubuntu server dengan memanfaatkan icecast2 bisa baca 

Cara install radio broadcaster ubuntu server dengan icecast2 dan sambroadcaster
Cara install voip server ubuntu server menggunakan xlite dan asterisk
Cara mengganti nama interface eth0 ubuntu server  
Cara menginstal bind9 ubuntu server

Cara membuat router ubuntu server - cara mudah membuat router ubuntu server virtualbox. Selanjutnya tinggal set windows 7 sebagai client dari ubuntu server yang terinstall di virtualbox, yang juga bertindak sebagai router ubuntu server.

Rabu, 16 Maret 2016

Cara Menghapus User Hotspot Expire Usermanager

Jasa Setting Mikrotik - Cara Menghapus User Hotspot Expire Usermanager - cara hapus user hotspot expire usermanaer ini sebenernya pernah saya buat juga di postingan saya yang lain, Cara Menghapus User Hotspot Expired untuk menghapus user hotspot mikrotik bisa menggunakan usermanager.



Usermanager adalah user manager mikrotik yang di peruntukkan sebagai tempat memanage user yang menggunakan koneksi yang kita gunakan, singkat katanya userman router mikrotik di gunakan sebagai AAA (Authentication, Authorization dan Accounting) dalam mengelola pelanggan, terlebih hotspot.

Userman hotspot memiliki database, yang di gunakan sebagai tempat penyimpanan configurasi pelanggan, termasuk didalamnya tersedia untuk pembatasan limit bandwidth, lama login, dan sebagainya. Userman memudahkan kita untuk mengelola koneksi yang di peruntukkan ke publik.

Cara menghapus user expire dengan usermanager, cukup mudah gambar usermanager diatas kiranya cukup untuk anda analisa bagaimana untuk menghapus username dan password pelanggan hotspot yang sudah kadaluarsa, sehingga database hotspot usermanager tidak penuh dengan data dan informasi pelanggan yang sudah tidak kita gunakan.

Jasa setting hotspot mikrotik, Untuk menghapus user hotspot pernah di tulis di forum mikrotik, namun script otomatis penghapus user expired tersebut sudah tidak dapat di gunakan, beberapa kali saya coba untuk router mikrotik terbaru script tersebut tetap tidak berjalan, oleh karena itulah saya hapus user yang expired dengan usermanager hotspot.

Ada baiknya isi database usermanager di periksa secara berkala dan dilakukan pembersihan dari user yang sudah tidak gunakan, karena saya pernah mengalami dan memperbaiki hotspot client yang error karena database usermanagernya penuh. Untuk menghapus paling mudah saya rasa lewat web saja dengan mangakses halaman userman

Untuk membuka halaman usermanager, kita bisa ketikkan seperti berikut

http://alamatiprouter/userman

Alamat ip usermanager diatas di ganti dengan ip router mikrotik, dan ada baiknya untuk membuka usermanager hotspot mikrotik jangan menggunakan akses hotspot, atau jika memang harus lewat koneksi hotspot membukanya, pilih user yang memiliki access penuh ke hotspot mikrotik, dapat di gunakan user admin hotspot mikrotiknya, dan bisa di chek lewat winbox klik menu ip -> hotspot -> user -> double klik user admin dan pastikan server:all



Cara Menghapus User Hotspot Expire Usermanager semoga bermanfaat, jika anda tidak bisa bisa menghubungi saya : jasa setting mikrotik

Selasa, 15 Maret 2016

Memindahkan Boot dari USB ke Harddisk Ubuntu Server

Mandailing Natal - Memindahkan Boot dari USB ke Harddisk Ubuntu Server - sepertinya ini sebuah bug pada ubuntu 15.04 saat ini. Jika ubuntu server di install dengan flashdisk terjadi boot failied.

Saya tidak tau ini masalah di ubuntunya atau di servernya, yang pasti setiap selesai installasi, mesin ubuntu servernya selalu membutuhkan flashdisk agar boot berjalan baik. Ubuntu tersebut saya install dengan flashdisk. Menggunakan software kecil bernama universal Usb Installer  

Bagi yang mengalamai boot failied yang servernya di install lewat usb, teknik mengembalikan boot bisa mencoba langkah di bawah ini, karena saya juga menyelesaikan permasalahan boot failied tersebut dengan cara seperti ini.

Permasalahan saya mirip dengan apa yang ada di forum ubuntu mirip persis,

If booted into system.
#reinstall from working (not liveCD/DVD/USB) system - first find Ubuntu drive (example is drive sda but use your drive not partitions):
sudo fdisk -l 
#if it's "/dev/sda" then just run:
sudo grub-install /dev/sda 
#If that returns any errors run:
sudo grub-install --recheck /dev/sda
sudo update-grub

But grub remembers where to reinstall, so it may have flash drive as reinstall location. Not sure if above fixes it.

#To see what drive grub2 uses see this line - grub-pc/install_devices:
sudo debconf-show grub-pc
sudo grub-probe -t device /boot/grub
#to get grub2 to remember where to reinstall on updates:
sudo dpkg-reconfigure grub-pc 
#Enter thru first pages,spacebar to choose/unchoose drive, enter to accept, do not choose partitions

You only get the choice on where to install grub2's boot loader on the partitioning screen with manual install.

Memindahkan Boot dari USB ke Harddisk Ubuntu Server.untuk yang berminat cara menginstall mfsbsd dari flashdisk sebagai proxy external warnet.

Sabtu, 12 Maret 2016

Cara Install Radio Broadcaster Icecast2 Sambroadcaster

Mandailing Natal - Cara Install Radio Broadcaster Icecast2 Sambroadcaster - cara membuat ubuntu server jadi server streaming radio online, menggunakan icecast


Cara menginstall icecast2 di ubuntu server
apt-get update 
apt-get install icecast2
Setelah selesai install icecast2-nya, lanjutkan dengan configurasi icecast.
cd /etc/icecast2
mv icecast.xml icecast.xml-original
nano icecast.xml
Paste configurasi icecast.xml di bawah ini kedalam file icecast.xml kosong.
   
<icecast>
<limits>
<clients>100</clients>
<sources>2</sources>
<threadpool>5</threadpool>
<queue-size>524288</queue-size>
<client-timeout>30</client-timeout>
<header-timeout>15</header-timeout>
<source-timeout>10</source-timeout>
<!-- If enabled, this will provide a burst of data when a client
first connects, thereby significantly reducing the startup
time for listeners that do substantial buffering. However,
it also significantly increases latency between the source
client and listening client. For low-latency setups, you
might want to disable this. -->
<burst-on-connect>1</burst-on-connect>
<!-- same as burst-on-connect, but this allows for being more
specific on how much to burst. Most people won't need to
change from the default 64k. Applies to all mountpoints -->
<burst-size>65535</burst-size>
</limits>

<authentication>
<!-- Sources log in with username 'source' -->
<source-password>darman</source-password>
<!-- Relays log in username 'relay' -->
<relay-password>darman</relay-password>

<!-- Admin logs in with the username given below -->
<admin-user>admin</admin-user>
<admin-password>darman</admin-password>
</authentication>

<!-- set the mountpoint for a shoutcast source to use, the default if not
specified is /stream but you can change it here if an alternative is
wanted or an extension is required
<shoutcast-mount>/live.nsv</shoutcast-mount>
-->

<!-- Uncomment this if you want directory listings -->
<!--
<directory>
<yp-url-timeout>15</yp-url-timeout>
<yp-url>http://dir.xiph.org/cgi-bin/yp-cgi</yp-url>
</directory>
-->

<!-- This is the hostname other people will use to connect to your server.
It affects mainly the urls generated by Icecast for playlists and yp
listings. -->


<hostname>192.168.18.2</hostname>
<mount>
<mount-name>/live</mount-name>
</mount>

<shoutcast-mount>/live</shoutcast-mount>

<!-- You may have multiple <listener> elements -->
<listen-socket>
<port>8000</port>
<!-- <bind-address>127.0.0.1</bind-address> -->
<!-- <shoutcast-mount>/live</shoutcast-mount> -->
</listen-socket>

<listen-socket>
<port>8001</port>
<shoutcast-compat>1</shoutcast-compat>
</listen-socket>


<!--<master-server>127.0.0.1</master-server>-->
<!--<master-server-port>8001</master-server-port>-->
<!--<master-update-interval>120</master-update-interval>-->
<!--<master-password>hackme</master-password>-->

<!-- setting this makes all relays on-demand unless overridden, this is
useful for master relays which do not have <relay> definitions here.
The default is 0 -->
<!--<relays-on-demand>1</relays-on-demand>-->

<!--
<relay>
<server>127.0.0.1</server>
<port>8001</port>
<mount>/live</mount>
<local-mount>/live</local-mount>
<on-demand>0</on-demand>

<relay-shoutcast-metadata>0</relay-shoutcast-metadata>
</relay>
-->

<!-- Only define a <mount> section if you want to use advanced options,
like alternative usernames or passwords
<mount>
<mount-name>/example-complex.ogg</mount-name>

<username>othersource</username>
<password>hackmemore</password>

<max-listeners>1</max-listeners>
<dump-file>/tmp/dump-example1.ogg</dump-file>
<burst-size>65536</burst-size>
<fallback-mount>/example2.ogg</fallback-mount>
<fallback-override>1</fallback-override>
<fallback-when-full>1</fallback-when-full>
<intro>/example_intro.ogg</intro>
<hidden>1</hidden>
<no-yp>1</no-yp>
<authentication type="htpasswd">
<option name="filename" value="myauth"/>
<option name="allow_duplicate_users" value="0"/>
</authentication>
<on-connect>/home/icecast/bin/stream-start</on-connect>
<on-disconnect>/home/icecast/bin/stream-stop</on-disconnect>
</mount>

<mount>
<mount-name>/auth_example.ogg</mount-name>
<authentication type="url">
<option name="mount_add" value="http://myauthserver.net/notify_mount.php"/>
<option name="mount_remove" value="http://myauthserver.net/notify_mount.php"/>
<option name="listener_add" value="http://myauthserver.net/notify_listener.php"/>
<option name="listener_remove" value="http://myauthserver.net/notify_listener.php"/>
</authentication>
</mount>

-->

<fileserve>1</fileserve>

<paths>
<!-- basedir is only used if chroot is enabled -->
<basedir>/usr/share/icecast2</basedir>

<!-- Note that if <chroot> is turned on below, these paths must both
be relative to the new root, not the original root -->
<logdir>/var/log/icecast2</logdir>
<webroot>/usr/share/icecast2/web</webroot>
<adminroot>/usr/share/icecast2/admin</adminroot>
<!-- <pidfile>/usr/share/icecast2/icecast.pid</pidfile> -->

<!-- Aliases: treat requests for 'source' path as being for 'dest' path
May be made specific to a port or bound address using the "port"
and "bind-address" attributes.
-->
<!--
<alias source="/foo" dest="/bar"/>
-->
<!-- Aliases: can also be used for simple redirections as well,
this example will redirect all requests for http://server:port/ to
the status page
-->
<alias source="/" dest="/status.xsl"/>
</paths>

<logging>
<accesslog>access.log</accesslog>
<errorlog>error.log</errorlog>
<!-- <playlistlog>playlist.log</playlistlog> -->
<loglevel>3</loglevel> <!-- 4 Debug, 3 Info, 2 Warn, 1 Error -->
<logsize>10000</logsize> <!-- Max size of a logfile -->
<!-- If logarchive is enabled (1), then when logsize is reached
the logfile will be moved to [error|access|playlist].log.DATESTAMP,
otherwise it will be moved to [error|access|playlist].log.old.
Default is non-archive mode (i.e. overwrite)
-->
<!-- <logarchive>1</logarchive> -->
</logging>

<security>
<chroot>0</chroot>
<!--
<changeowner>
<user>nobody</user>
<group>nogroup</group>
</changeowner>
-->
</security>
</icecast>


setelah itu restart icecastnya, dengan perintah :

service icecast2 restart 

configurasi icecast cukup sampai disitu, langkah selanjutnya buka ip server di browser,

http://192.168.18.2:8000/

Untuk username dan passwordnya, isikan tulisan yang saya kasih warna biru di dalam configurasi diatas, yaitu
username: admin 
password: darman


untuk membroadcast lagu, kita butuh satu software lagi, boleh menggunakan winamp atau Sam Broadcaster, dalam percobaan ini saya menggunakan sam broadcaster,

Kamis, 10 Maret 2016

Kill Aplikasi Yang Berjalan dengan Dos

Mandailing Natal - Kill Aplikasi Yang Berjalan dengan Dos, terkadang ketika kita bekerja dengan sebuah software, di windows 7, kita mengalami masalah yang sangat rumit, karena software yang kita gunakan hank dan tidak dapat digunakan, sialnya software terus semakin menyedot resource komputer yang kitagunakan, bahkan untuk membuka aplikasi lain juga menjadisangat susah.

Masalah tersebut tidak berhenti disitu, karena ketika sebuah aplikasi hank, tentu mungkin dari sebagian kita akan langsung berpikiran untuk menghentikan program tersebut, dan langkah yang sering kita gunakan yaitu membuka task manager, dengan menekan tombol keyboard, kombinasi CTRL + ALT + DELETE namun sayangnya ketika kita menekan tombol keyboard tersebut taskmanager juga tidak mau muncul, selidik punya selidik ternyata TASKMANAGER di disable oleh administrator komputer yang kita gunakan, sementara kita tidak memiliki akses untuk menghidupkan task manager tersebut.

Langkah langkah lain mungkin bisa kita lakukan yaitu restart, nah permasalahannya bagaimana jika kita tidak ingin merestart komputernya. Untuk mengatasi hank software dan meng-KILL software yang freeze dan tidak bisa kita matikan lewat taskmanager bawaan windows, kita bisa melakukan satu langkah lagi, yakni lewat consol DOS COMMAND, dengan perintah tasklist dan taskkill.

Bagaimana menghentikan software yang hang lewat dos command / meng-kill program yang hang lewat dos ?

Lihat nomor id proces software yang sedang hang tersebut dengan perintah tasklist

Pada gambar diatas kita melihat angka-angka di kolom PID, nah angka ini yang bisa kita gunakan untuk memberikan perintah kill terhadap proses yang sedang berlangsung.

Cara kill programnya jika kita sudah mendapatkan nomor PID

taskkill /P nomor_pid /F

contohnya kita ingin menghentikan /mematikan proses terhadap conhost.exe maka taskkill nya bisa kita buat seperti ini

taskkill /P 3796 /F 

Nah tuh si conhost.exe akan terhentikan/dimatikan seperti halnya kita mematikan process yang hang lewat task manager, bedanya hal ini dilakukan lewat terminal windows.

Beberapa opsi untuk taskkill bisa di lihat dengan perintah

taskkill /? 
Kill Aplikasi Yang Berjalan dengan Dos / menghentikan (menutup paksa) aplikasi yang berjalan dengan dos.

Senin, 07 Maret 2016

Cara Install Asterisk Ubuntu Server Virtualbox

Mandailing Natal - Cara Install Asterisk Ubuntu Server Virtualbox asterisk merupakan software opensource berbasiskan linux, yang di buat oleh mark spencer sekitar tahun 1999, dengan mengimplementasikan cara kerja PBX (private branch exchange). Yang dapat di gunakan sebagai voip (voice over internet protocol) server dengan memanpaatkan SIP (session initiation protocol), Media Gateway Control Protocol (MGCP), protocol H.323 yang merupakan suatu Standart International Telecomunication Union - Telekomunications (ITU-T), selain itu asterisk juga mendukung voice mail, panggilan otomatis, dan live conference call dan masih banyak vitur lainnya.

Dalam test ini saya menggunakan virtualbox, yang didalamnya terinstall ubuntu serverUbuntu 15.10, yang bertindak sebagai server voip. Configurasi asterisk di ubuntu server terbilang sangat mudah, sangat-sangat mudah untuk installasi sederhananya, namun untuk configurasi automatic call mungkin perlu pembahasan lebih lanjut. Namun untuk berkomunikasi dua arah dengan settingan sederhana server asterisk berjalan dengan baik, bahkan sangat baik.


Cara Install Asterisk Ubuntu Server Virtualbox - cara configurasi asterisk ubuntu server virtualbox sangat mudah, berikut caranya

sudo apt-get update
sudo apt-get install asterisk

Configurasi sip dari asterik yang terletak di file /etc/asterisk/

cp /etc/asterisk/sip.conf /etc/asterisk/sip.conf-original
nano /etc/asterisk/sip.conf

Kemudian isi nomor, password, contex di bagian bawah file sip.conf untuk memindahkan kursor lebih cepat ke bagian bawah tekan saja tombol pagedown di keyboard, dan isikan data seperti berikut ini :

[8001]
type=friend
context=test1
username=8001
secret=8001
host=dynamic

[8002]
type=friend
context=test1
username=8002
secret=8002
host=dynamic

Keterangan:
  • [8001][8002]merupakan nomor yang akan di dial dari android, komputer maupun laptop.
  • type : untuk menentukan group dari nomor telephon yang di gunakan, bisa manager, staff dan lain-lainnya, bebas di isi apasaja, sesuai dengan group telephone nya.
  • context : isian ini saya warnai merah, agar tidak salah saat configurasi nanti di extensions.conf
  • username : boleh disi apasaja, di gunakan untuk login nanti di software xlite.
  • secret : password untuk isian xlite juga bebas diisi apa saja.
  • host : dynamic saja, gak usah di ubah.

Kemudian configurasi extensions.conf, dengan cara

nano /etc/asterisk/extensions.conf

isi code seperti ini di bagian bawah dari extensions.conf. Perlu di parhatikan context pada sip.conf harus sama yang di extensions.conf perhatikan yang saya warnai merah di masing masing kedua file,

[test1]
exten =>8001,1,Dial(SIP/8001)
exten =>8002,2,Dial(SIP/8002)

Keterangan:
  • [test1]; : diambil dari context sip.conf

Saya buat ini di dedikasikan untuk anak-anak tkj-trpl Smk Swasta Teruna, agar lebih giat lagi belajarnya, jangan main-main terus. Cara Install Asterisk Ubuntu Server Virtualbox ini semoga bermanfaat.

Minggu, 28 Februari 2016

Cara menampilkan isi database php

Mandailing Natal - Cara menampilkan isi database php , cara mudah menampilkan isi tabel database dengan php. Pada postingan sebelumnya sudah kita buat file php untuk input data kedalam database, menggunakan php, dan html.


Tulisan ini sambung dari tulisan sebelumnya create input data kedatabase dengan php file ini merupakan sambungan dari file sebelumnya. Tidak panjang lebar, mudah-mudahan sedikit sudah di mengerti posting seblumnya untuk menginput data kedatabase dengan php.


<html>
    <head>
        <title> Lihat data </title>
    </head>
<body>
<table border="1" style="border-collapse:collapse;">
    <tr>
        <td> No </td>
        <td> Nisn </td>
        <td> Nama </td>
        <td> Action</td>
    </tr>
 
<?php include('koneksi.php');
    $lihat=mysql_query('SELECT * FROM data_siswa ORDER BY id_siswa');
       $no=1;
       while($data=mysql_fetch_array($lihat))
       {
       echo "<tr>
              <td>$no</td>
              <td>$data[nisn_siswa]</td>
              <td>$data[nama_siswa]</td>
              <td><a href='edit.php?id=".$data[id_siswa]."'>Edit </a> |
                 <a href='hapus.php?id=".$data[id_siswa]."'>Hapus </a> |
                 <a href='detail.php?id=".$data[id_siswa]."'>Detail </a>  
                 </td>            
                 </tr>";
                 $no++; 
       }
?>
</table>
</body>
</html>
Nah di bagian ini kita harus bisa membuat table, biar tampilan query database yang di tampilkan terlihat rapi, dan enak  di lihat.  Cara menampilkan isi database php semoga bermanfaat bagi yang membutuhkannya. Untuk sesi selanjutnya saya akan buat hapus_data dari database mysql dengan bahasa pemrograman php.


Tulisan Sebelumnya :
Pada code mysql_query, kita melihat option ORDER BY, option ORDER BY berfungsi untuk mengurutkan isi tabel database yang di pilih untuk di tampilkan, ORDER BY memiliki dua opsi pengurutan lagi, yakni ASCENDING dan DESCENDING.

Ascending mengurutkan isi database dari text yang paling kecil dahulu baru ke yang besar, sedangkan DESCENDING kebalikannya.

Pada kode tampilkan database mysql diatas kita melihat code mysql_fetch_array(), kode mysql_fetch_array adalah salah satu jenis perintah dalam mysql untuk menampilkan isi database secara assaosiative maupun secara numerik.

Sebenarnya perintah cara menampilkan isi database php, selain menggunakan perintah mysql_fetch_array() bisa juga menggunakan perintah mysql_fectch_row(), mysql_fetch_row () berfungsi menampilkan isi database numeric, berbeda dengan mysql_fetch_array, yang memiliki kemampuan menampilkan secara assosiative dan numeric, sedangkan mysql_fetch_row hanya mampu menampilkan secara numeric.

Trus mana yang harus, di gunakan ?.

Saya sendiri lebih menyukai mysql_fetch_array() timbang menggunakan mysql_fetch_rows() namun pilihan ini tergantung pada keinginan anda, mana yang paling disukai.


Untuk upload gambar ke database dengan php bisa di baca di tulisan saya sebelumnya -> cara upload gambar ke database mysql dengan php

Sabtu, 27 Februari 2016

Upload Lihat File Dengan Php

Mandailing Natal - Upload Lihat File Dengan Php, membuat file upload dengan php dan mysql, yang datanya nanti dapat di lihat kembali baik secara keseluruhan maupun data dalam satu baris tabel data base.

Langkah pertama buat tabel database bernama gambar boleh lewat phpmyadmin boleh juga lewat CLI. Kemudian buat dan isi fieldnya. Kira - kira gambarnya seperti ini (sengaja tidak buat code biar belajarnya makin semangat ngetik, dan mudah-mudahan makin hapal)

Kalau udah jadi begitu, buat 3 buah file berextensi php, dalam contoh ini saya buat nama filenya :
  • upload.php
  • lihat_gambar.php
  • detail.php
  • koneksi.php
  • buat folder didirectory  file phpnya dengan nama file
nah untuk code koneksi.php nya bisa di lihat di halaman yang lain, atau boleh juga koneksi.php seperti yang saya sukai berikut:
<?php
$host="localhost"; //nama host nya ini atau bisa juga menggunakan ip 127.0.0.1
$user="root"; //user phpmyadminya
$password="12345"; //password phpmyadmin
$database="teruna"; //nama database
$konek=mysql_connect($host,$user,$password) or die (mysql_error());
mysql_select_db($database,$konek);

?>
Selanjutnya untuk membuat Upload Lihat File Dengan Php yaitu dengan membuat file upload.php berikut kodenya :
<html>
    <head>
        <title>Upload </title>
    </head>
<body>
    <form action="" method="POST" enctype="multipart/form-data">
        <input type="text" name="judul_post"/>
        <input type="file" name="upload" value="browse"/>
        <input type="submit" name="save" value="upload"/>
    </form>
</body>
</html>

<?php

include('koneksi.php');
if(isset($_POST['save']))
{
   
$gambar=$_FILES['upload']['tmp_name'];
$nama_gambar=$_FILES['upload']['name'];
$tgl_gambar=date('Y-m-d H:i:s');

$up_data="INSERT INTO gambar VALUES('','$gambar','$nama_gambar','$tgl_gambar')";
mysql_query($up_data);

move_uploaded_file($_FILES['upload']['tmp_name'], "file/".$_FILES['upload']['name']);
echo "gambar sudah di upload";
}

?>
Langkah untuk membuat upload lihat file dengan php yaitu membuat file lihat_gambar.php. Nah ini lagi codenya
<html>    
    <head>
        <title> Lihat Gambar </title>
    </head>
<body>
    <table style="border-collapse:collapse; border:1px">
        <tr>
            <td>No </td>
            <td> Gambar </td>
        </tr>


<?php
include('koneksi.php');
//$id=$_GET['id'];
$lihat=mysql_query("SELECT * FROM gambar ");

$no=1;

while($data=mysql_fetch_array($lihat))
{
echo "<tr>
            <td>$no</td>
            <td>$data[nama_gambar] </td>
            <td><a href='detail.php?id=".$data[id_gambar]."'>Details</td>
            </tr>";
        $no++;
}

?>

</table>
</body>
</html>
Nah ini kalau mau melihat detail. per baris dari tabel gambarnya.
<?php 
include('koneksi.php');
$id=$_GET['id'];

$detail=mysql_query("SELECT * FROM gambar WHERE id_gambar='$id'");
while($data=mysql_fetch_array($detail))
{

echo " <img src=file/".$data['nama_gambar'].">";
   
}

?>
Simpan masing-masing file php tersebut didalam folder www dan jangan lupa buat folder file di directory yang sama dengan file phpnya. Terus jalankan deh. dengan membuka
http://localhost/upload.php 
untuk melihat seluruh upload yang masuk kedata base, buka lihat_gambar.php caranya begini
http://localhost/lihat_gambar.php

Melihat sebuah gambar, sesuai namanya yang di upload, klik tulisan detail di halaman lihat_gambar.php. Code ini masih jauh dari sempurna, ini hanya untuk media pembelajaran, untuk keamanannya dan validasi atau macam-macam kebutuhan lainnya silahkan di kembangkan sendiri dan di tambahi. Mudah-mudahan cara membuat upload lihat file dengan php ini bermanfaat. 

Selasa, 23 Februari 2016

Cara Menggunakan Bootstrap Framework

Mandailing Natal - Cara Menggunakan Bootstrap Framework - bootstrap merupakan salah satu dari framework yang banyak di gunakan untuk membuat website, di karenakan kemudahannya dalam menggunakannya. Tulisan Cara Menggunakan Bootstrap Framework saya ambil dari web w3schools.com saya terjemah bebas, agar mudah di gunakan dan di fahami anak-anak tkj-trpl Smk swasta teruna padangsidimpuan.

Bootstrap menggunakan elemen html dan properti css dan merupakan prasyarat utama dalam html5. Untuk memberitahukan kepada browser bahwa code yang kita buat merupakan html5 dalam dokument html yang kita buat harus di sertakan <doctype html5>

Beberapa hal yang harus di kenal dan di hapal adalah selektor-selektor yang sudah tersedia didalam bootstrap, berikut merupakan selektor-selektor yang digunakan dan harus di fahami serta hapal luar kepala.

.container
.container-fluid


contoh penggunakan selektor kelas .container
<!DOCTYPE html>
<html lang="en">
    <head>
        <title> BOOTSTRAP </title>
        <link href="css/bootstrap.min.css" rel="stylesheet" >
    </head>
<body>

<div class="container">
    <div class="jumbotron">
    <h1> Gunawan</h1>
    <h5> Test bootstrap</h5>
    </div>
   
   
</div>
</body>
</html>
Contoh penggunaan selektor kels .container-fluid
<!DOCTYPE html>
<html lang="en">
    <head>
        <title> BOOTSTRAP </title>
        <link href="css/bootstrap.min.css" rel="stylesheet" >
    </head>
<body>

<div class="container-fluid">
    <div class="jumbotron">
    <h1> Gunawan</h1>
    <h5> Test bootstrap</h5>
    </div>
   
   
</div>
</body>
</html>

Bootstrap Grid View System

Bootstrap memiliki 12 grid kolom, jika kita tidak ingin menggunakan ke-12 kolom tersebut kita bisa menggabungnya, sehingga kolom-kolom tersebut sesuai dengan keinginan kita. Misalnya ingin menampilkan 2 kolom saja, maka masing-masing kolom kiri dan kanan kita bagi 2 dari ke-12 kolom tersebut, dapat kita lihat pada gambar berikut:

gambar grid-coloumn w3schools.com
Untuk membagi halaman kedalam beberapa bagian, kita bisa menggunakan  kelas .col-namakelasnya-jumlahkolomyangdigabung . Dalam gambar diatas kita melihat kolom-kolom kecil sebanyak 12kolom. masing-masing dibagi atas 4buah kolom.

Format code kelas kolom diatas saya karang-karang sendiri, untuk mudah digunakan. namakelasnya secara default telah di sediakan oleh bootstrap, pada tulisan namakelasnya bisa kita ganti dengan yang telah di sediakan oleh bootstrap diantaranya:

  • xs (untuk phones)
  • sm (untuk tablets)
  • md (untuk desktops)
  • lg (untuk desktops yang lebih besar)

Kita dapat menggunakan kelas yang ada dengan bebas-sebebas-bebasnya. Tentunya tergantung target kontent kita mau di buka dengan apa. Nah untuk menggunakan kolom grid, kita harus memanggil sebuah selektor kelas bernama row untuk contohnya kita sambung dari contoh sebelumnya saja.
<!DOCTYPE html>
<html lang="en">
    <head>
        <title> BOOTSTRAP </title>
        <link href="css/bootstrap.min.css" rel="stylesheet" >
    </head>
<body>

<div class="container">
    <div class="jumbotron">
    <h1> Gunawan</h1>
    <h5> Test bootstrap</h5>
    </div>
   
    <div class="row"> <!-- selektor kelas row, wajib katanya ada kalau mau membagi halaman jadi 3 bagian -->
        <div class="col-md-4"> <!-- nih bagian yang membagi 12 masing-masing 4kolom -->
            <h2> Kolom 1 </h2>
            <p> Kolom 1 merupakn gabungan 4 buah kolom dari 12 kolom yang ada didalam bootstrap </p>
            <p> Mudahkan menggunakannya... </p>
        </div>
        <div class="col-md-4">
            <h2> Kolom 2 </h2>
            <p> Kolom 2 merupakn gabungan 4 buah kolom dari 12 kolom yang ada didalam bootstrap, Masih ingatkan kolom bootstrap ada 12 kolom, berikut kolom nomor 5-8 </p>
            <p> Mudahkan menggunakannya... </p>
        </div>
        <div class="col-md-4">
            <h2> Kolom 3 </h2>
            <p> Kolom 3 merupakn gabungan 4 buah kolom dari 12 kolom yang ada didalam bootstrap,nah berikut kolom nomor 9-12 </p>
            <p> Mudahkan menggunakannya... </p>
        </div>
    </div>
   
</div>
</body>
</html>

Tampilannya seperti gambar di bawah


Nah kalo kelas .col-md-4 saya ganti misalnya dengan .col-xs-8 atau .col-lg-6 bagaimana ?. Kamu bisa exprimentkan sendiri ya. Gunakan aja editor text notepad++ biar asyik utak-atik kodeknya, pake sublime juga bisa. download di internet.

Bootstrap Text/Typography

Konon katanya si w3schools, bootstrap sudah memiliki ukuran yang di defaultkan, termasuk untuk ukuran huruf, paragraf dan macam-macamnya, misalnya saja untuk jarak paragrap, tag pmemiliki line-height 10px; sedangkan ukuran huruf (font-size) sekitar 14px dengan line-height 1.428.

Untuk elemen h1 - h6 seperti berikut:

h1 Bootstrap heading (36px)

h2 Bootstrap heading (30px)

h3 Bootstrap heading (24px)

h4 Bootstrap heading (18px)

h5 Bootstrap heading (14px)
h6 Bootstrap heading (12px)

Selain yang sudah ada diatas, masih banyak lagi, element html dan property css yang sudah di format sedemikian rupa dan default menjadi bawaan dari bootstrap, untuk mempersingkat tulisan Cara Menggunakan Bootstrap Framework, saya rasa sampai disini dulu. Insya Allah saya coba nanti lanjutkan, dan bagi yang ingin mencoba silahkan kunjungi w3schools.com saya juga membacanya dari sana.

Rabu, 17 Februari 2016

Serial Number DeepFreeze 7.30.020.3852

Mandailing Natal - Serial Number DeepFreeze 7.30.020.3852 - siapa yang tidak mengenal software kecil ini lagi, yang terkenal dengan kemampuannya untuk membukan system agar tidak sembarang orang boleh mengutak atik system komputer, yang paling parah kadang ada tangan usil yang menghapus directory vital pada windows, seperti system32 atau system, atau file dan directory vital lainnya, yang dapat menyebabkan windows mengalami crash.

Terlebih lagi jika komputer yang di peruntukkan bagi umum, seperti halnya komputer warnet yang bebas di gunakan oleh siapa saja. Sofware deepfreeze ini mampu menahan dan membekukan system komputer windows, walau file-file penting bisa di hapus oleh orang yang tidak bertanggung jawab, selama mode deepfreeze terkunci, hal itu tidak menjadi masalah. Karena dengan sekali restart, file yang sebelumnya di hapus oleh tangan jahil, akan kembali ke tempatnya seperti sedia kala.

Untuk itu sebuah lab komputer di satu sekolah di padangsidimpuan, saya deepfreeze drive C, D untuk menjaga agar system tetap ringan, aman, tidak mengalami crash serta tidak di penuhi file sampah oleh penggunanya. Kebetulan deepfreeze yang saya gunakan pada lab tersebut dengan versi  7.30.020.3852.

Untuk serial number deep freeze bisa di ambil di bawah ini, saya letakin disini sebenernya untuk mempermudah pekerjaan. Deep Freeze di gunakan untuk membekukan system, yang mana system itu akan terkunci dan terlindungi dari perubahan-perubahan yang tidak di inginkan.

Termasuk dengan penambahan aplikasi yang tidak kita inginkan yang di masukkan oleh orang lain maupun oleh virus yang kita tidak sadari. Nah tidak panjang lebar ini dia serial number deepfreeze 7.30.020.3852

A2JKYGDQ-D1AFZKHE-RE4MGYTV-H3MM8X04-7RV7S95Y

Kamis, 11 Februari 2016

Mengubah Meta Tag Blogger Seo

Mandailing Natal - Mengubah Meta Tag Blogger Seo - tulisan ini saya buat sebenernya disini karena saya melakukan perubahan total pada tampilan blog yang saya miliki ini, tampilan yang ada sekarang menggunakan framework bootstrap.
Untuk mengamankan meta tag lamanya, saya coba pastekan di halaman post blogspot. berikut meta tag blogger yang saya harapkan dapat memperbaiki crawl search engine terhadap www.mandailingnatal.com

<b:if cond='data:blog.isMobile'>
<meta content='noindex,nofollow' name='robots'/>
</b:if>
    <b:include data='blog' name='all-head-content'/>
    <b:if cond='data:blog.pageType == &quot;index&quot;'>
        <title><data:blog.title/></title>
        <b:else/>
        <title><data:blog.pageName/> | <data:blog.title/></title>
    </b:if>
    <b:if cond='data:blog.pageType == &quot;archive&quot;'>
    <meta content='noindex,noarchive' name='robots'/>
    </b:if>

Belajar Setting Mikrotik - Belajar Pemrograman Java - Belajar Pemrograman Pascal Belajar PHP OOP

Cari Blog Ini

Arsip Blog

Diberdayakan oleh Blogger.

Postingan Populer