Dynamic Blinkie Text Generator at TextSpace.net

Feedburner

I heart FeedBurner

Senin, 26 Februari 2018

Menu Affix Bootstrap

Seperti yang telah kita semua ketahui, bahwa bootstrap adalah salah satu framework CSS yang populer saat ini. Framework ini memberikan kita kemudahan dalam membuat tampilan website yang rapih dan bagus walau tanpa memiliki bakat desain yang mumpuni. Selain mempermudah, bootstrap ini mempunyai kelebihan yaitu cocok untuk disegala media sehingga tampilan website kita akan dijamin rapih selalu. Dalam boostrap banyak sekali class CSS yang dapat kalian pergunakan, salah satunya yang akan kita bahas adalah menu affix pada Bootstrap.
Menu affix ini adalah perintah untuk membuat suatu menu pada saat kita scroll kebawah, otomatis secara langsung menu tersebut akan menempel di atas browser. Berbeda dengan menu fixed, jika menu fixed sudah sejak awal selalu menempel diatas, sedangkan affix pada saat discroll saja baru menempel diatas. Untuk lebih jelasnya kita langsung coba praktekkan saja. Kalian bisa salin contoh code berikut ini.

affix.html

<!DOCTYPE html>
<html>
<head>
  <title>Bootstrap Example</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
  <style>  
      .affix {
          top: 0;
          width: 100%;
      }

      .affix + .container-fluid {
          padding-top: 70px;
      }
  </style>
</head>
<body>

<div class="container-fluid" style="background-color:red;color:#fff;height:200px;">
  <h1> Contoh Menggunakan class Affix </h1>
  
</div>

<nav class="navbar navbar-inverse" data-spy="affix" data-offset-top="197">
  <ul class="nav navbar-nav">
    <li class="active"><a href="#">Basic Topnav</a></li>
    <li><a href="#">Page 1</a></li>
    <li><a href="#">Page 2</a></li>
    <li><a href="#">Page 3</a></li>
  </ul>
</nav>

<div class="container-fluid" style="height:1000px">
  <h1>Contoh Text dummies</h1>
  <h1>Contoh Text dummies</h1>
  <h1>Contoh Text dummies</h1>
  <h1>Contoh Text dummies</h1>
  <h1>Contoh Text dummies</h1>
  <h1>Contoh Text dummies</h1>
  <h1>Contoh Text dummies</h1>
  <h1>Contoh Text dummies</h1>
  <h1>Contoh Text dummies</h1>
  <h1>Contoh Text dummies</h1>
  <h1>Contoh Text dummies</h1>
  <h1>Contoh Text dummies</h1>
  
</div>

</body>
</html>
Jika sudah kalian simpan file tersebut dengan format HTML. Untuk melihat hasilnya kalian cukup membuka file htmlnya saja pada browser kalian. Jika berhasil maka tampilanya akan seperti ini.
menu-affix-pada-bootstrap-rangga1-211017
Tampilan diatas adalah tampilan awal. Posisi menu berada dibawah banner merah. Sekarang kalian coba scroll kebawah dan lihat hasilnya.
menu-affix-pada-bootstrap-rangga2-211017.PNG
Menu tersebut secara otomatis menempel diatas. Mudah bukan ?
Sekian pembahasan mengenai bagaimana cara membuat menu affix pada Bootstrap. Semoga bermanfaat.

Tutorial integrasi CCTV microsd dengan android

ini ga tutorialnya :
https://tokopuas.com/2016/10/menggunakan-cctv-ip-camera-memory-card.html

Sabtu, 24 Februari 2018

Membuat launcher aplikasi sederhana di Android Studio

Selamat malam teman teman kali ini saya akan share cara sederhana membuat aplikasi launcher di android menggunakan Android Studio....
Adapun langkah langkahnya, yaitu :
1). Pastikan Android Studio dan SDK terinstal dengan baik.
2). Buka aplikasi android studio dan buat project :
 
3). Pada option activity pilih blank activity
4). Setelah di pilih klik finish maka akan tampil tampilan awal aplikasi.
5).  Pada androin manifest.xml tambahkan :
    
<uses-permission android:name="android.permission.INTERNET" />
 
   Tepatnya pada code berikut ini :
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"    package="com.ap2hni.webviewap2hni">
    <uses-permission android:name="android.permission.INTERNET" />
    <application        android:allowBackup="true"        android:icon="@mipmap/ic_launcher"        android:label="@string/app_name"        android:roundIcon="@mipmap/ic_launcher_round"        android:supportsRtl="true"        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>
6). Pada halaman activity_main.xml buat code seperti di bawah ini :
<?xml version="1.0" encoding="utf-8"?><android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:app="http://schemas.android.com/apk/res-auto"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    tools:context="com.ap2hni.webviewap2hni.MainActivity">

    <WebView        android:layout_width="match_parent"        android:layout_height="match_parent"        android:id="@+id/webview"        android:layout_centerHorizontal="true" />

</android.support.constraint.ConstraintLayout>
catatan : layout webview ini akan di panggil di file java nanti, 
dan android id ini id yang akan di panggil di file java jadi namanya harus di ingat ya guys.
 
7). Di menu MainActivity.java silahkan diisi seperti dibawah ini:
package com.ap2hni.webviewap2hni;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.webkit.WebView;

public class MainActivity extends AppCompatActivity {

    @Override    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        String url = "http://ap2hni.com/";
        WebView view = (WebView) this.findViewById(R.id.webview);
        view.getSettings().setJavaScriptEnabled(true);
        view.loadUrl(url);
    }
}
 
 di bagian String url masukkan url website kalian. 

8). Selamat mencoba guys
 

 
 

CKeditor SDK

bagi teman teman yang mau memperdalam tentang ckeditor dan sdk ckeditor ini salah satu sumber untuk belajar :
https://docs.ckeditor.com/ckeditor4/latest/guide/widget_sdk_tutorial_1.html
dan
https://sdk.ckeditor.com/samples/fileupload.html

Kamis, 22 Februari 2018

CSS caching

Tentang css caching bisa baca di : https://stackoverflow.com/questions/12088909/how-to-clear-css-cache

CSS Versioning

ascading Style Sheet atau CSS adalah suatu aturan atau mekanisme untuk mengatur komponen dalam sebuah web agar lebih teratur dan terstruktur. CSS tidak termasuk bahasa pemrogramman.
CSS merupakan salah satu elemen penting dalam membuat website maupun aplikasi berbasis web.
CSS berguna untuk mengatur tampilan suatu web agar lebih rapi, terstruktur dan menarik, tanpa CSS suatu halaman web akan terlihat kacau, tidak terstruktur dan tidak menarik sama sekali.
Terdapat 3 cara dalam menulis CSS pada sebuah web, yaitu "inline", "embed" dan "eksternal".
Pada tulisan ini saya tidak akan membahas tentang ke tiga teknik penulisan CSS tersebut, namun saya hanya akan membahas tentang penulisan CSS secara eksternal.
Penulisan CSS secara eksternal dilakukan dengan memanggil file CSS tersebut ke dalam halaman web dengan tag link dan diletakkan diantara tag <head> dan </head>. Contoh tag:
<link href="style.css" rel="stylesheet">
Cara penulisan ini paling banyak digunakan dibandingkan dengan penulisan secara inline dan embed. Keuntungan penulisan CSS secara eksternal adalah lebih mudah dimaintenance karena CSS ditulis secara terpisah.
Akan tetapi cara ini juga memiliki satu kekurangan yaitu kadang perubahan pada web tidak langsung terlihat dan harus melakukan clear cache terlebih dahulu agar perubahan tersebut dapat terlihat. Hal ini terjadi karena browser melalukan cache pada file CSS yang dipanggil.
Solusi untuk mengatasi kekurangan ini adalah dengan melakukan versioning CSS. Versioning CSS merupakan suatu metode untuk memberi nomor versi pada setiap perubahan yang terjadi pada file CSS.
Versioning CSS dilakukan dengan menambahkan nomor versi file CSS pada link tag yang digunakan untuk memanggil file CSS.
Contoh:
<link href="style.css?version=1.0" rel="stylesheet">
Untuk melakukan versioning CSS pada web /aplikasi berbasis web PHP kita bisa memanfaatkan fungsi bawaan PHP yaitu filemtime() . Cara ini lebih mudah dibandingkan kita menulis versi CSS secara manual pada setiap perubahan yang terjadi. Fungsi filemtime() mengambil waktu modifikasi suatu file, dalam konteks ini adalah file CSS.
Contoh penerapan fungsi filemtime() pada versioning CSS.
<link href="style.css?version=<?php echo filemtime('style.css'); ?>" rel="stylesheet">
Trik Sederhana Versioning CSS pada Website / Aplikasi Berbasis Web PHP
Versioning CSS
Trik Sederhana Versioning CSS pada Website / Aplikasi Berbasis Web PHP
Hasil versioning CSS
Jika file CSS berada dalam sub folder, maka penulisan juga harus mencantumkan lokasi file CSS kemudian diikuti nama file CSS.
Contoh:
<link href="assets/css/style.css?version=<?php echo filemtime('./assets/css/style.css'); ?>" rel="stylesheet">
Teknik versioning ini juga dapat diterapkan pada framework PHP seperti CodeIgniter, Laravel dan sebagainya.
Dengan menerapkan teknik versioning CSS, maka perubahan yang terjadi pada CSS akan langsung terlihat pada web tanpa kita harus melakukan clear cache pada browser.
Hal ini karena file CSS yang direquest oleh browser adalah file CSS yang terbaru dan jika tidak ada perubahan pada file CSS maka browser akan menampilkan file CSS yang sudah tersimpan dalam cache.
Demikianlah trik sederhana melakukan versioning CSS dengan PHP. Cara ini direkomendasikan untuk website/aplikasi yang berada dalam tahap pengembangan untuk menampilkan efek perubahan CSS pada halaman web tanpa harus membersihkan cache terlebih dahulu.
Namun trik versioning ini tidak direkomendasikan untuk digunakan pada tahap produksi karena dapat mengurangi kecepatan loading website/aplikasi karena browser tidak dapat membuat cache pada CSS yang digunakan.

Sumber : https://masrud.com/post/versioning-css

Selasa, 20 Februari 2018

Manipulasi css dengan Jquery

Selamat malam teman teman pada malam ini saya coba sharing hal sederhana tentang Jquery yaitu manipulasi css dengan jquery. Hal yang perlu di siapkan yaitu library jquery. Bisa pakai versi berapapun. Disini saya memakai jquery versi : jquery-3.2.1.min.js

Baiklah langkah langkahnya :
1). Buat script html sederhana ada html, head, body,dll
2). Panggil library jquery : <script src="js/jquery-3.2.1.min.js"></script>
3). Buat script css sederhana . contoh :
    
<style>
#detail{
height:auto;
width:auto;
}
</style>
4). Buat script javascript sederhana buat effeknya letakkan sebelum </body> :
<script>
$( "button" ).click(function() {
$( "#detail" ).show( "slow" );
});
</script>
5). Selamat mencoba 

Referensi : http://api.jquery.com/show/
 
 
 

JGallery

library buat album jquery :
http://jgallery.jakubkowalczyk.pl/documentation

Senin, 12 Februari 2018

Cara Menghapus Background Photo di Corel Photo Paint

Kali ini saya akan bagi tutorial tentang cara hapus background di corel photo paint simak ya :D...

Step by Step :
http://www.belajarcoreldraw.co/2012/07/cara-menghapus-background-putih-pada.html

Jumat, 09 Februari 2018

Cara mengakses disk cleanup yang tidak tampil di start menu

1. Melalui cmd dengan ketik : %windir%\system32\cleanmgr.exe
2. Melalui cmd juga ketik : cleanmgr
3. Melalui control panel :
   a. Buka control panel
   b. pilih performance and information tools
   c. pilih dan klik open disk cleanup

Sekian... dan terima kasih

Kamis, 08 Februari 2018

Menentukan Harga Proyek di IT

Dalam dunia IT (khususnya dunia sistem informasi) banyak sekali cara menentukan harga sebuah aplikasi yang diterapkan oleh perusahaan jasa aplikasi ataupun freelance programmer. Ada yang memberikan harga per-paket, ada yang berdasarkan jumlah form, ada yang menentukan flat-price, ada pula yang menetukan berdasarkan rate per-jam atau per-hari.
Bagaimana sebuah kerja skill dihargai? Sedemikian sulit-kah menentukan harga sebuah aplikasi? Argumen apakah yang bisa diberikan seorang programmer dalam menentukan harga sebuah aplikasi? Ini adalah masalah klasik dalam dunia sistem informasi, khususnya bagi para freelance programmer.
Perhitungan Harga Penawaran
Berdasarkan obrolan dengan sesama freelance programmer dan juga dari pengalaman, saya mencoba merumuskan bagaimana memberi harga pada sebuah hasil karya skill. Sebenarnya ini bukan rumus mutlak. Tapi paling tidak merupakan satu cara menentukan harga aplikasi yang kira2 mungkin bisa diterapkan dan “cukup fair” yaitu dengan memakai formula:
HP = HT – (d x HT)
dimana: HT = [ R x W ] + K + M
HP = Harga penawaran sebuah aplikasi atau project aplikasi
HT = Harga total pekerjaan aplikasi
R = Rate per-hari atau per-jam dari seorang programmer dimana 1 hari = 8 jam kerja
W = Estimasi waktu amanya pengerjaan aplikasi/proyek
K = Harga konsep aplikasi
M = Harga material aplikasi.
d = prosentase potongan harga (discount) yang diberikan
Mengapa saya bilang “cukup fair”? Ini disebabkan karena dengan formula ini seorang programmer dituntut untuk bisa memberikan estimasi yang masuk akal dan cukup objektif akan hal2 seperti: seberapa objektif seorang programmer menilai skill aplikasi dan pengalamannya, berapa lama sebuah pekerjaan bisa diselesaikan, berapa harga sebuah konsep aplikasi atau perlu/tidaknya memberikan potongan harga kepada klien, dsb. Juga dikatakan “cukup fair” karena dengan menerapkan perhitungan ini, kedua belah pihak (programmer dan klien) diharapkan bisa melihat sisi objektif dari sebuah pekerjaan aplikasi. Calon klien tidak merasa dibohongi dan di sisi lain programmer juga tidak merasa bekerja rodi.
Menentukan Variabel2 Formula.
1. Rate (R)
Rate adalah harga perhari atau perjam yang ditentukan pada kemampuan seorang programmer dalam mengerjakan pekerjaan2 aplikasi. Besarnya bergantung pada skill yang dikuasai, pemahaman konsep aplikasi, pengalaman, portfolio, kredibilitas klien yang pernah ditangani, dsb.
Singkatnya R bergantung pada pengalaman dan jam terbang seorang programmer. Sebagai contoh seorang programmer yang menguasai seabrek software aplikasi mulai dari Delphi sampai program .Net, memiliki pemahaman konsep aplikasi yang dibuktikan dengan portfolio yang ditunjukkan, pernah bekerja di perusahaan sistem informasi terkemuka, berpengalaman menangani klien2 “wah” seperti Nokia, BMW, dsb, bisa dikategorikan sebagai highly priced programmer dengan rate misalnya Rp. 2.000.000/hari. Sementara seorang lulusan sekolah IT yang baru memiliki 2-3 portfolio dari perusahaan2 kecil bisa dikategorikan sebagai pemula dengan rate sekitar Rp. 100.000/hari. Disini, seorang programmer dituntut untuk mampu mengestimasi “nilai jual” dirinya berdasarkan faktor2 tersebut.
R bisa dihitung perhari ataupun perjam. Mengapa? Beberapa programmer menentukan rate/hari dengan alasan kemudahan perhitungan. programmer lain menerapkan rate/jam dengan alasan agar lebih gampang menghitung waktu untuk revisi. Sebenarnya ini sama saja. Seperti disebutkan di atas, 1 hari = 8 jam. Sekarang kembali kepada sang programmer untuk menghitung lamanya pengerjaan sebuah proyek aplikasi dalam hitungan hari (agar lebih sederhana) atau dalam hitungan jam agar lebih detail.
Tetapi ada satu hal lain yang harus dipertimbangkan. Ada kalanya rate/jam sangat sulit diterima oleh klien di Indonesia. Di negara2 maju dimana pekerjaan aplikasi sudah dihargai dengan baik, rate/jam mungkin bisa diterapkan dan diterima oleh calon klien. Ini karena profesi programmer sudah dianggap sejajarkan dengan pekerjaan jasa profesional lain seperti pengacara, dokter, dsb. Akan tetapi bila kita berbicara dalam ruang lingkup lokal, berdasarkan pengalaman saya, rate/jam sangat sulit untuk diterima oleh umumnya klien di Indonesia. Tapi bila seorang programmer merasa confident untuk menerapkan rate/jam untuk klien di Indonesia, well.. why not?
2. Estimasi Lamanya Pengerjaan (W)
Estimasi lamanya waktu pengerjaan adalah jumlah waktu yang dibutuhkan untuk menyelesaikan sebuah aplikasi/proyek aplikasi. Berkaitan dengan rate (R), waktu bisa dihitung dalam satuan hari ataupun jam. Sebagai gambaran, jumlah waktu pengerjaan 1 (satu) form tanpa konsep OOP (Obyek) tentu akan berbeda dengan jumlah waktu pengerjaan 1 (satu) form full OOP maupun ODMS.
Dalam menentukan jumlah hari ini programmer dituntut untuk reasonable dalam arti tidak mengada-ada dan masuk diakal. Sebagai contoh mengerjakan sebuah form simpel tentu tidak akan memakan waktu sampai 7 hari (56 jam), bukan? Bila programmer menetapkan variabel Rate (R) dalam satuan hari, variabel H tidak harus bulat, ia bisa bernilai 0.5 (setengah hari = 4 jam) hari atau 0.25 (seperempat hari = 2 jam).
3. Harga Konsep Aplikasi (K)
Yang agak rumit mungkin menentukan harga konsep aplikasi. Akan tetapi kita bisa mengira2 seberapa original dan brilyan-nya sebuah konsep aplikasi. Disinilah seorang programmer dituntut untuk bisa menguraikan konsep aplikasi yang ia tawarkan. Bukan hanya terbatas pada ide dan tampilan visual semata, tapi juga mencakup hal2 lain seperti ‘kredibilitas’, kestabilan aplikasi, sistem update dan backup database, bug report, pemilihan komponen, dsb.
Seorang teman programmer mengatakan bahwa ia juga menerapkan semacam perhitungan untuk menentukan harga K. Dalam kasus ini, harga K ditentukan dari berapa lama ia melakukan eksplorasi untuk mendapatkan ide dan menguraikannya menjadi sebuah konsep aplikasi dengan kata lain K=Rk x Wk (rate programmer dikalikan jumlah waktu eksplorasi). Rumit? Mungkin terlihat rumit, tapi sekali lagi, di negara2 maju (kebetulan teman saya tersebut pernah bekerja di luar negeri dan baru kembali ke Indonesia), ini merupakan hal yang wajar dan bisa diterima oleh klien.
4. Prosentase Potongan Harga (d)
Mungkin terkesan aneh bila diterapkan potongan harga untuk sebuah aplikasi/proyek aplikasi. Akan tetapi hal ini perlu dipertimbangkan bila seorang programmer menghadapi kasus dimana calon klien merupakan sebuah perusahaan besar dan menurut perkiraan memungkinkan terbentuknya long term relationship dan kontinuitas proyek. Dengan menerapkan discount, programmer bisa memberi alasan “proyek perkenalan” dimana sebagai awal long term relationship, sebuah aplikasi yang bagus diberi harga yang relatif murah. Bila memang tidak mau, programmer bisa memberi harga 0 (nol) untuk variabel ini.
5. Harga Material Aplikasi (M)
Harga material aplikasi adalah total harga pengadaan material untuk pekerjaan aplikasi yang mencakup harga Komputer server, perangkat external, pembelian lisensi additional software, fee copywriting. dan lain2
Sekarang mari kita lihat variabel mana yang nilainya bersifat fleksibel dan variabel mana yang bernilai tetap. Harga W yang pasti nilainya bersifat fleksibel karena bergantung dari skala proyek aplikasi yang dikerjakan. Harga M juga bersifat fleksibel karena bergantung dari harga pihak ketiga yang menyediakan material aplikasi (copywriter, komputer sever, perangkat external, dsb). Harga d juga bersifat fleksibel seperti telah diuraikan di atas.
Harga konsep (K) juga bersifat fleksibel. Masalahnya sekarang adalah cara menentukan harga tersebut. Seperti telah diuraikan di atas, ada beberapa programmer yang menetapkan nilai K dengan rumus K=Rk x Wk. Tapi ada juga programmer yang menetapkan nilai K tanpa menguraikannya seperti itu. K adalah sebuah nilai yang mencakup seluruh hal mulai dari eksplorasi, ide, konsep, dsb. Semata-mata karena pertimbangan kemudahan. Sebenarnya keduanya sama saja, itu hanyalah cara programmer untuk memberikan argumen yang tepat untuk harga sebuah kreativitas.
Bagaimana dengan variabel R?
Ada dua fenomena menarik. Beberapa programmer (dan juga agensi aplikasi) mematok harga R tetap dengan alasan bahwa harga tersebut adalah standar profesionalisme mereka. programmer dengan harga R tinggi harus bisa bekerja dalam waktu yang lebih singkat dibandingkan programmer dengan harga R yang lebih rendah untuk sebuah hasil yang kualitasnya sama. Artinya klien yang menyewa programmer dengan R tinggi akan diuntungkan dengan waktu pengerjaan (W) yang lebih singkat/cepat bila dibandingkan dengan mempekerjakan programmer dengan harga R yang lebih rendah.
Disisi lain ada programmer yang lebih fleksibel dengan harga R yaitu dengan menentukan nilai R sesuai dengan kredibilitas ataupun skala perusahaan klien. Sebagai ilustrasi, programmer seperti ini memberikan nilai R yang tinggi kepada sebuah perusahaan multi-nasional yang memiliki aset milyaran dan memberi rate yang lebih rendah kepada perusahaan kecil berbudget rendah, misalnya.
Contoh berikut mungkin bisa lebih memperjelas:
Seorang programmer level menengah memberikan rate perhari sebesar Rp. 700.000/hari sesuai dengan skill, portfolio, pemahaman konsep dan pengalamannya kepada firma-hukum mid-size untuk mengerjakan Sistem ERP. Struktur website tersebut adalah sebagai berikut:
Struktur tersebut akan diterapkan dalam halaman2 berbasis Client-Server dengan tambahan features backup, Checking Machine and Porchase or Request Order di frontpage-nya dan aplikasi send data via xml untuk update. Estimasi pengerjaannya adalah 10 hari. Tampilan user friendly, look and feel serta alur sistem aplikasi dari sebuah aplikasi yang akan dibuat sangat sesuai dengan corporate image dari firma-hukum tersebut yang dibuktikan dengan mock-up yang telah dibuat. Untuk itu si programmer memberikan harga Rp. 3.000.000. Entry data untuk aplikasi disediakan oleh client, sehingga harga material = 0 (nol). programmer tersebut memutuskan memberikan discount sebesar 10% dari harga total dengan pertimbangan akan terjalin long term relationship dimana firma hukum tersebut nantinya mungkin juga akan membuat aplikasi custommer service message, dsb.
Dalam kasus ini, harga penawaran adalah sebesar:
HT= (700.000 x 10) + 3.000.000 + 0= 10.000.000
HP= 10.000.000 – (10% x 10.000.000)= 9.000.000
Jadi, harga penawaran yang diajukan adalah sebesar Rp. 9.000.000. Bila ternyata calon klien melakukan bargaining, programmer bisa bertahan dengan memberikan argumen bahwa secara konsep, aplikasi tersebut sangat cocok dengan corporate image perusahaan atau effort yang dikeluarkan untuk pengerjaan proyek memang cukup besar.
Kemungkinan besar, calon klien akan bersikeras melakukan bargaining terhadap harga2 variabel2 tersebut. Disini, programmer bisa memperkecil harga penawaran dengan menurunkan harga rate per-hari menjadi Rp. 650.000 misalnya, sehingga manjadi:
HT= (650.000 x 10) + 3.000.000 + 0 = 9.500.000
HP= 9.500.000 – (10% x 9.500.000) = 8.550.000
atau memperbesar prosentase discount menjadi 15%:
HT= (700.000 x 10) + 3.000.000 + 0 = 10.000.000
HP= = 10.000.000 – (15% x 10.000.000) = 8.500.000
Dalam contoh tersebut bisa dilihat bahwa sang programmer melakukan bargaining dengan menerapkan harga R yang fleksibel dengan tidak mengurangi waktu pengerjaan (W) berdasarkan pertimbangan2 tertentu misalnya load pekerjaan yang tinggi, dsb. Sementara programmer yang menetapkan fix rate R bargaining mungkin bisa dilakukan dengan memberikan discount atau mengurangi waktu kerja (W)
Formula tersebut saya rasa cukup general dan bisa dipakai untuk menentukan harga pekerjaan aplikasi lainnya dan tidak terbatas hanya pekerjaan sistem aplikasi. Sebagai contoh misalnya adalah sistem informasi monitoring kegiatan dosen. Secara teknis pengerjaan poster tersebut mungkin bisa dikategorikan sebagai mudah dan dapat diselesaikan dalam 1 minggu saja. Akan tetapi dengan client sekelas Code Gear, programmer bisa menetapkan rate per-hari (R) yang cukup tinggi. Ditambah lagi dengan konsep aplikasi yang original dan brilyan yang dilengkapi dengan plugin “Everything That Has a Beginning Has an End” mungkin variabel K bisa dihargai jutaan dollar.
Formula tersebut saya rasa cukup general dan bisa dipakai untuk menentukan harga pekerjaan aplikasi lainnya dan tidak terbatas hanya pekerjaan sistem informasi. Sebagai contoh misalnya adalah sistem informasi monitoring kegiatan dosen di atas.
Secara teknis pengerjaan sistem informasi tersebut mungkin bisa dikategorikan sebagai mudah dan dapat diselesaikan dalam 1 minggu saja. Akan tetapi dengan client sekelas Code Gear, programmer bisa menetapkan rate per-hari (R) yang cukup tinggi. Ditambah lagi dengan konsep aplikasi yang original dan brilyan yang dilengkapi dengan plugin “Everything That Has a Beginning Has an End” mungkin variabel K bisa dihargai jutaan dollar.
Contoh diatas adalah dalam kasus programming atau design database dilakukan oleh satu orang programmer yang sama. Namun formula ini juga bisa diterapkan untuk pekerjaan dimana programming atau design database dilakukan oleh orang2 yang berbeda. Jadi bila sebuah sistem informasi misalnya menyangkut juga pembuatan basis-data, programming dan microsystem, harga penawaran adalah akumulasi dari harga yang diajukan tiap2 team member yang terlibat di dalam pekerjaan tersebut.
Formula di atas bukanlah sebuah hal mutlak. Mungkin ada beragam cara penentuan harga aplikasi yang lain. Ini hanyalah salah satu cara dan penerapannya juga kembali kepada programmer yang besangkutan. Satu hal yang pasti, formula ini juga tidak akan menjamin diperolehnya sebuah pekerjaan/proyek aplikasi? Harus dibedakan disini antara menentukan harga aplikasi dengan mendapatkan proyek aplikasi. Deal akan sebuah pekerjaan aplikasi bergantung dari banyak faktor lain seperti relasi, tipe client, budget, kualitas aplikasi, dsb. Tidak ada jaminan bahwa dengan menerapkan formula ini sebuah proyek aplikasi pasti akan diperoleh. Akan tetapi, minimal seorang programmer memiliki dasar untuk menentukan harga sebuah aplikasi dan tidak hanya bisa bergumam sambil berkeringat dingin bila sang klien mempertanyakan dasar penentuan harga aplikasi yang ia tawarkan.

Sumber : https://eksa.wordpress.com/2008/11/04/menentukan-harga-proyek/

Rabu, 07 Februari 2018

Menu php dengan method get

A. Contoh codingnya di menu html :

<li>
<a href="<?php echo 'index.php?laporan=daftar_barang'?>">
<i class="fa fa-th"></i> <span>Daftar Barang</span>
</a>
</li>

B. Contoh coding di bagan proses menu :
<?php
        $a=($_GET['laporan']);
if($a=='report'){
  require_once "menu/report.php";

}
else if($a=='daftar_barang'){
  require_once "menu/daftar_barang.php";
}
else if($a=='input_barang'){
  require_once "menu/input_barang.php";
}

else{
  require_once "menu/dashboard.php";
}

?>

Senin, 05 Februari 2018

GOOGLE Maps API direction website

Selamat malam teman teman hari ini saya akan sharing tentang google maps API directions untuk website. Sebagai alternatif untuk menampilkan rute di website :
1). Daftar seperti biasa di google console
2).  Buat project di google console
3). Pilih dan aktifkan Google Maps Api Direction
4). buat api di credential setelah aktif copas apinya ke kode di bawah ini :
<!DOCTYPE html>
<html>
  <head>
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no">
    <meta charset="utf-8">
    <title>Directions service</title>
    <style>
      /* Always set the map height explicitly to define the size of the div
       * element that contains the map. */
      #map {
        height: 100%;
      }
      /* Optional: Makes the sample page fill the window. */
      html, body {
        height: 100%;
        margin: 0;
        padding: 0;
      }
      #floating-panel {
        position: absolute;
        top: 10px;
        left: 25%;
        z-index: 5;
        background-color: #fff;
        padding: 5px;
        border: 1px solid #999;
        text-align: center;
        font-family: 'Roboto','sans-serif';
        line-height: 30px;
        padding-left: 10px;
      }
    </style>
  </head>
  <body>
    <div id="floating-panel">
   
   
    <b>Posisi Anda: </b>
    <select id="end">
      <option value="Stasiun Sudirman">Stasiun Sudirman</option>
      <option value="Bandar Udara Internasional Halim Perdanakusuma (HLP)">Halim Perdana Kusumah</option>
      <option value="Stasiun Manggarai">Stasiun Manggarai</option>
      <option value="Bandara Soekarno-Hatta International Airport">Bandara Soekarno-Hatta International Airport</option>
      <option value="Stasiun Pasar Senen">Stasiun Pasar Senen</option>
      <option value="stasiun jatinegara">stasiun jatinegara</option>
      <option value="Stasiun Tanahabang">Stasiun Tanahabang</option>
      <option value="stasiun tangerang">stasiun tangerang</option>
      <option value="Stasiun Sudirman Baru">Stasiun Sudirman Baru</option>
      <option value="Stasiun Cikini">Stasiun Cikini</option>
      <option value="Stasiun Gambir">Stasiun Gambir</option>
      <option value="Stasiun Lenteng Agung">Stasiun Lenteng Agung</option>
    </select>
    </div>
    <div id="map"></div>
   
    <script>
      var myLatLng={lat: -6.231375, lng: 106.821450};
      function initMap() {
          
        var directionsService = new google.maps.DirectionsService;
        var directionsDisplay = new google.maps.DirectionsRenderer({
          draggable: true,
          myLatLng: myLatLng
         
        });
        var map = new google.maps.Map(document.getElementById('map'), {
          zoom: 19,
          center:myLatLng,
         
        });
        var marker = new google.maps.Marker({
        position: myLatLng,
        map: map,
       
        title: 'Lokasi Kantor'
  });

        directionsDisplay.setMap(map);

        var onChangeHandler = function() {
          calculateAndDisplayRoute(directionsService, directionsDisplay);
        };
        document.getElementById('end').addEventListener('change', onChangeHandler);
        document.getElementById('end').addEventListener('change', onChangeHandler);
      }

      function calculateAndDisplayRoute(directionsService, directionsDisplay) {
         
         
        directionsService.route({
          origin: myLatLng,
          destination: document.getElementById('end').value,
          travelMode: 'DRIVING'
         
        }, function(response, status) {
          if (status === 'OK') {
            directionsDisplay.setDirections(response);
          } else {
            window.alert('Directions request failed due to ' + status);
          }
        });
      }
    </script>
      <script async defer src="https://maps.googleapis.com/maps/api/js?key=AIzaSyCicrveXVBwHB9b8BIBv-uW_TLfsty1y-8&callback=initMap"
  type="text/javascript"></script>
  </body>
 
</html>

Atau contoh lain :
<!DOCTYPE html>
<html>
  <head>
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no">
    <meta charset="utf-8">
    <title>Directions service</title>
    <style>
      /* Always set the map height explicitly to define the size of the div
       * element that contains the map. */
      #map {
        height: 100%;
      }
      /* Optional: Makes the sample page fill the window. */
      html, body {
        height: 100%;
        margin: 0;
        padding: 0;
      }
      #floating-panel {
        position: absolute;
        top: 10px;
        left: 25%;
        z-index: 5;
        background-color: #fff;
        padding: 5px;
        border: 1px solid #999;
        text-align: center;
        font-family: 'Roboto','sans-serif';
        line-height: 30px;
        padding-left: 10px;
      }
    </style>
  </head>
  <body>
    <div id="floating-panel">
    <b>Start: </b>
    <select id="start">
      <option value="chicago, il">Chicago</option>
      <option value="st louis, mo">St Louis</option>
      <option value="joplin, mo">Joplin, MO</option>
      <option value="oklahoma city, ok">Oklahoma City</option>
      <option value="amarillo, tx">Amarillo</option>
      <option value="gallup, nm">Gallup, NM</option>
      <option value="flagstaff, az">Flagstaff, AZ</option>
      <option value="winona, az">Winona</option>
      <option value="kingman, az">Kingman</option>
      <option value="barstow, ca">Barstow</option>
      <option value="san bernardino, ca">San Bernardino</option>
      <option value="los angeles, ca">Los Angeles</option>
    </select>
    <b>End: </b>
    <select id="end">
      <option value="Stasiun Sudirman">Stasiun Sudirman</option>
      <option value="Monas, Gambir">Monas</option>
      <option value="Stasiun Manggarai">Stasiun Manggarai</option>
      <option value="oklahoma city, ok">Oklahoma City</option>
      <option value="amarillo, tx">Amarillo</option>
      <option value="gallup, nm">Gallup, NM</option>
      <option value="flagstaff, az">Flagstaff, AZ</option>
      <option value="winona, az">Winona</option>
      <option value="kingman, az">Kingman</option>
      <option value="barstow, ca">Barstow</option>
      <option value="san bernardino, ca">San Bernardino</option>
      <option value="los angeles, ca">Los Angeles</option>
    </select>
    </div>
    <div id="map"></div>
   
    <script>
      var myLatLng={lat: -6.231375, lng: 106.821450};
      function initMap() {
          
        var directionsService = new google.maps.DirectionsService;
        var directionsDisplay = new google.maps.DirectionsRenderer({
          draggable: true,
          myLatLng: myLatLng
         
        });
        var map = new google.maps.Map(document.getElementById('map'), {
          zoom: 19,
          center:myLatLng,
         
        });
        var marker = new google.maps.Marker({
        position: myLatLng,
        map: map,
       
        title: 'Lokasi Kantor'
  });

        directionsDisplay.setMap(map);

        var onChangeHandler = function() {
          calculateAndDisplayRoute(directionsService, directionsDisplay);
        };
        document.getElementById('start').addEventListener('change', onChangeHandler);
        document.getElementById('end').addEventListener('change', onChangeHandler);
      }

      function calculateAndDisplayRoute(directionsService, directionsDisplay) {
         
         
        directionsService.route({
          origin: myLatLng,
          destination: document.getElementById('end').value,
          travelMode: 'DRIVING'
         
        }, function(response, status) {
          if (status === 'OK') {
            directionsDisplay.setDirections(response);
          } else {
            window.alert('Directions request failed due to ' + status);
          }
        });
      }
    </script>
      <script async defer src="https://maps.googleapis.com/maps/api/js?key=AIzaSyCicrveXVBwHB9b8BIBv-uW_TLfsty1y-8&callback=initMap"
  type="text/javascript"></script>
  </body>
 
</html>

Atau contoh lain :
<!DOCTYPE html>
<html>
  <head>
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no">
    <meta charset="utf-8">
    <title>Directions service</title>
    <style>
      /* Always set the map height explicitly to define the size of the div
       * element that contains the map. */
      #map {
        height: 100%;
      }
      /* Optional: Makes the sample page fill the window. */
      html, body {
        height: 100%;
        margin: 0;
        padding: 0;
      }
      #floating-panel {
        position: absolute;
        top: 10px;
        left: 25%;
        z-index: 5;
        background-color: #fff;
        padding: 5px;
        border: 1px solid #999;
        text-align: center;
        font-family: 'Roboto','sans-serif';
        line-height: 30px;
        padding-left: 10px;
      }
    </style>
  </head>
  <body>
    <div id="floating-panel">
    <b>Start: </b>
    <select id="start">
      <option value="chicago, il">Chicago</option>
      <option value="st louis, mo">St Louis</option>
      <option value="joplin, mo">Joplin, MO</option>
      <option value="oklahoma city, ok">Oklahoma City</option>
      <option value="amarillo, tx">Amarillo</option>
      <option value="gallup, nm">Gallup, NM</option>
      <option value="flagstaff, az">Flagstaff, AZ</option>
      <option value="winona, az">Winona</option>
      <option value="kingman, az">Kingman</option>
      <option value="barstow, ca">Barstow</option>
      <option value="san bernardino, ca">San Bernardino</option>
      <option value="los angeles, ca">Los Angeles</option>
    </select>
    <b>End: </b>
    <select id="end">
      <option value="chicago, il">Chicago</option>
      <option value="st louis, mo">St Louis</option>
      <option value="joplin, mo">Joplin, MO</option>
      <option value="oklahoma city, ok">Oklahoma City</option>
      <option value="amarillo, tx">Amarillo</option>
      <option value="gallup, nm">Gallup, NM</option>
      <option value="flagstaff, az">Flagstaff, AZ</option>
      <option value="winona, az">Winona</option>
      <option value="kingman, az">Kingman</option>
      <option value="barstow, ca">Barstow</option>
      <option value="san bernardino, ca">San Bernardino</option>
      <option value="los angeles, ca">Los Angeles</option>
    </select>
    </div>
    <div id="map"></div>
   
    <script>
      function initMap() {
        var map = new google.maps.Map(document.getElementById('map'), {
          zoom: 4,
          center: {lat: -24.345, lng: 134.46}  // Australia.
        });

        var directionsService = new google.maps.DirectionsService;
        var directionsDisplay = new google.maps.DirectionsRenderer({
          draggable: true,
          map: map,
          panel: document.getElementById('right-panel')
        });

        directionsDisplay.addListener('directions_changed', function() {
          computeTotalDistance(directionsDisplay.getDirections());
        });

        displayRoute('Perth, WA', 'Sydney, NSW', directionsService,
            directionsDisplay);
      }

      function displayRoute(origin, destination, service, display) {
        service.route({
          origin: origin,
          destination: destination,
          waypoints: [{location: 'Adelaide, SA'}, {location: 'Broken Hill, NSW'}],
          travelMode: 'DRIVING',
          avoidTolls: true
        }, function(response, status) {
          if (status === 'OK') {
            display.setDirections(response);
          } else {
            alert('Could not display directions due to: ' + status);
          }
        });
      }

      function computeTotalDistance(result) {
        var total = 0;
        var myroute = result.routes[0];
        for (var i = 0; i < myroute.legs.length; i++) {
          total += myroute.legs[i].distance.value;
        }
        total = total / 1000;
        document.getElementById('total').innerHTML = total + ' km';
      }
    </script>

      <script async defer src="https://maps.googleapis.com/maps/api/js?key=AIzaSyCicrveXVBwHB9b8BIBv-uW_TLfsty1y-8&callback=initMap"
  type="text/javascript"></script>
  </body>
 
</html>

Contoh Project saya :
http://ap2hni.com/

Materi Javascript

https://www.duniailkom.com/tutorial-belajar-javascript-pengertian-dan-cara-pembuatan-variabel-dalam-javascript/

Jumat, 02 Februari 2018

Catatan Linux Pribadi

download :
1).ngrok
2).xrdp(buat remote)
3).wind32 imager

default assigned pada mysql bias didefinisikan untuk id yang tidak ada data.
buat menampilkan network yang disable :nm-connection-editor

Software di server ubuntu mekarsari:
eclips,jEdit,Krusader,putty,Blender
1). Dummy database

--Saat setelah install linux harus configurasi dpkg dengan : sudo --configure dpkg -a
--Setelah itu install

   Cara install xampp di ubuntu:
#download file xampp for ubuntu
#masuk ke local disk file xampp dengan :cd namadirektori
#chmod +x namaxampp
#install dengan kode : sudo ./namaxampp

password mysql :idpmon
password ubuntu :idpmon

IP:192.168.137.177
IP beijer : 192.168.137:81
buat running progam otomatis dari terminal :pm2 startup namafile

#Buat akun git, dan akun ngrok, dan lanjut :
    a). Setelah itu monitor dari putty
    b). Buat akun di ngrok
    c). login sebagai root di ubuntu / linux
    d). pindah di rektori ke desktop dengan : cd Desktop
    e). masukan kode ./ngrok authtoken 4SbX2p18YGZfgKioYBMPM_2HBEr2SrtBnbPacECo16H sesuai di profil akun masing-masing
    f). Ketik : sudo ./ngrok tcp 3389
    g). Maka akan tampil data yang salah satunya berupa http tcp, copy dan kasih ke computer yang akan meremote.


#jalani program beijer ke database menggunakan node js dengan kode :npm install-g pm2

password teamviewer mini pc eco :
user id: 108 401 540
password: 8395

#pada goolang variabel yang tidak terpakai akan error saat compile.Untuk mengosongkan lagi buat baris _=variabel anda
#nm-connection-editor:akses network linux dari terminal
#Install Raspberry, dan cek kapasistas perjam dan perhari..untuk perjam estimasinya selama 4 jam.
#Cek berapa tag yang ada data di powermeter 3 phasa, dan powermeter 1 phasa.
#IP axiomtech: 192.168.1.17, user:idpmon, dan passwd:idpmon.
#install semua aplikasi kebutuhan untuk ikontech di rasperry, dan axiomtech.
#password axiomtech:idpmonjpa001 username:idpmon.

code di font awesome :
#bolt untuk tanda bahaya kayak logo pln.
#bell untuk lonceng atau alarm.
#AKUN USER DATABASE
TAHAPAN PM2:   
1.pm2 STARTUP (KALAU PM2 BARU DIINSTAL)
2.PM2 START NAMAFILE
3.PM2 LOGS
4.PM2 LIST
5.PM2 DELETE ALL
6.PM2 RESTART ALL
 HABIS CONFIGURASI FILE RESTART PC ATAU PM2
#temporer mail di :http://tempmail.us/mailbox.php?address=agung
#sms gateway : http://sms.gosmsgateway.com:88/~sms/login.php
pelajari:javascript,boostrap,css,axios,jquery,ajax,dll.