Belajardengan.com

Belajardengan.com merupakan domain blog lama dari delajardengan.blogspot.com. Mohon kritik dan sarannya untuk perkembangan blog ini.
email: blog.tkx.pnp@gmail.com

Cara Install Python Terbaru di Centos

♠ Posted by Unknown


Buka https://www.python.org/downloads/ dan download yang terbaru. Disini release terbarunya Python 3.7.2


pindah folder ke
#cd /usr/src


download python terbaru, contoh 3.7.2
#sudo wget https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tar.xz

extrak package
#sudo tar -xvf Python-3.7.2.tar.xz

#cd Python-3.7.2

#install compiler
#sudo yum install gcc
#sudo yum install openssl-devel


set config
#sudo ./configure --prefix=/opt/python3
#sudo make altinstall
#sudo ln -s /opt/python3/bin/python3.7 /usr/bin/python3.7

cek installasi
#python3.7 -V




:)

Belajar Basic Javascript

♠ Posted by Unknown in
#1
let name = "Name 1";
if(true){
  let name = "Name 2"
  console.log(name)
}
console.log(name);
>>
"Name 2"
"Name 1"  

#2
const AGES = [1,2,3,4];
console.log(AGES);
AGES.push(55);
console.log(AGES);
AGES.push(66,77);
console.log(AGES);
>>
[1, 2, 3, 4]
[1, 2, 3, 4, 55]
[1, 2, 3, 4, 55, 66, 77]

Belajar Java 8.

♠ Posted by Unknown in ,
Berikut adalah contoh hal-hal baru yang bisa dilakukan dengan java 8.

A. Comparator, Sorting dengan class Collection
---
public class Test_1 {
    public static void main(String[] args) {
        List stringList = new ArrayList<>();
        stringList.add("fdasadQ");
        stringList.add("qfdasadQ");
        stringList.add("fwwdasadQ");
        stringList.add("sfdfsfdasadQ");
        stringList.add("4543fdasadQ");

        System.out.println(stringList);
//        Collections.sort(stringList); //
//        Collections.sort(stringList, (s1, s2) -> s1.compareTo(s2));        
Collections.sort(stringList, (s1, s2) -> s2.compareTo(s1)); 
//decending       
 System.out.println("setelah di sorting");
        System.out.println(stringList);
    }
}
result:
[fdasadQ, qfdasadQ, fwwdasadQ, sfdfsfdasadQ, 4543fdasadQ]
setelah di sorting
[sfdfsfdasadQ, qfdasadQ, fwwdasadQ, fdasadQ, 4543fdasadQ]
---

B. Functional Interface
public class Test_1 {
    public static void main(String[] args) {

        TesPrin tesPrin = () -> System.out.println("cetak terserah");
        TesPrinParam tesPrinParam = (ss) -> System.out.println("cetak "+ss);

        System.out.println("memanggil default method di interface >>> "+tesPrin.srqt(9));
        tesPrin.prin();
        tesPrinParam.prin("param");

        Operasi tambah = (int bilA,int bilB)-> bilA + bilB;
        Operasi kurang = (int bilA,int bilB)-> bilA - bilB;
        Operasi kali = (int bilA,int bilB)-> bilA * bilB;
        Operasi bagi = (int bilA,int bilB)-> bilA / bilB;

        System.out.println(kalkulator(3,4, tambah));
        System.out.println(kalkulator(3,4, kurang));
        System.out.println(kalkulator(3,4, kali));
        System.out.println(kalkulator(3,4, bagi));
    }


    interface TesPrin{
        void prin();

        default double srqt(double angka){
            return  Math.sqrt(angka);
        }
    }

    interface TesPrinParam{
        void prin(String param);
    }

    interface Operasi{
        int aksi(int bilA,int bilB);
    }

    public static int kalkulator(int bilA,int bilB, Operasi operasi){
        return operasi.aksi(bilA,bilB);
    }
}
result:
cetak terserah
cetak param
memanggil default method di interface >>> 3.0
cetak terserah
cetak param
7
-1
12
0

C. For Each

public class Test_1 {

    public static void main(String[] args) {

        List<Siswa> siswaList = new ArrayList<>();
        siswaList.add(new Siswa("Sucipto", "Pintar"));
        siswaList.add(new Siswa("Elnanda", "Pintar Sekali"));
        siswaList.add(new Siswa("Ujup", "1"));
        siswaList.add(new Siswa("Nazar", "1"));
        siswaList.add(new Siswa("Suseno", "XL"));
        System.out.println("forEach Siswa");
        siswaList.forEach(siswa -> System.out.println(siswa));
        System.out.println();
        siswaList.forEach(siswa -> {
            if (siswa!=null && siswa.getName().equals("Sucipto"))
                System.out.println(siswa);
        });
    }
}

class Siswa{

    String name;
    String kelas;
// get set

    @Override    public String toString() {
        return "Siswa{" +
                "name='" + name + '\'' +
                ", kelas='" + kelas + '\'' +
                '}';
    }
}


D. Stream
siswaList.stream()
        .filter(siswa -> siswa.getKelas().contains("Pintar"))
        .forEach(System.out::println);

List<Siswa> siswaList1 = siswaList.stream()
        .filter(siswa -> siswa.getKelas().contains("X"))
        .collect(Collectors.toList());
siswaList1.forEach(System.out::println);

steam grouping
Map<String, List<Siswa>> collect = siswaList.stream().collect(Collectors.groupingBy(Siswa::getName));
collect.forEach(
        (s, siswas) -> {
            System.out.println(s+"|"+siswas);
        }
);

E. Bla bla


F. Bla bla


G. Bla bla

Belajar React Native #1

♠ Posted by Unknown in
Berikut apa saja yang perlu diinstal sebelum ngoding React Native:
note: ini untuk windows,kalau OS lain lansung saja ke link

  • Install JDK (versi yang paling baru)
  • Install Node JS
  • Install Android Studio + SDK (atau download zipnya)
  • Emulator Genymotion
Kalau semua diatas telah terinstall dengan baik jangan lupa set ANDROID_HOME dan JAVA_HOMEnya.
System Properties>>Advanced>>Environment Variables..>> klik new, tambahkan kedua hal diatas dan lokasi foldernya.

Next masuk ke directory kerja (terserah dimana) ketikan
>> npm install -g react-native-cli 
tunggu sampai kelar, dan ketikkan lagi
>> react-native init NamaProject 
tunggu sampai kelar, 'NamaProject' ini hanya contoh nama bebas diganti apapu. setelah selesai masuk ke NamaProject  jalankan Genymotion jalankan sebuah emulator dan ketikkan lagi di CMD
>> react-native run-android 






Coba2 GEO Elasticsearch

♠ Posted by Unknown
link

PUT /attractions
{
  "mappings": {
    "restaurant": {
      "properties": {
        "name": {
          "type": "string"
        },
        "location": {
          "type": "geo_point"
        }
      }
    }
  }
}


GET /attractions/restaurant/_search
{
  "query": {
    "filtered": {
      "filter": {
        "geo_distance": {
          "distance": "120km",
          "location": {
            "lat": 40.73,
            "lon": -74.1
          }
        }
      }
    }
  },
  "sort": [
    {
      "_geo_distance": {
        "location": {
          "lat":  40.715,
          "lon": -73.998
        },
        "order":         "asc",
        "unit":          "km",
        "distance_type": "plane"
      }
    }
  ]
}

Generate Column Name to POJO

♠ Posted by Unknown in ,,

Di kantor saya sekarang execute statement JDBC diganti dengan SQL2O, alasannya adalah masalah performance ketika mapping ke Object "katanya..!!!"). Dan emang ini kelihatan lebih cepat dari pada sebelumnya, namun SQL2O tidak suport mapping relasi seperti Hibernate, huff. capeekx
Dan satu lagi SQL2O belum ada tool untuk generate tabel to pojo secara auto. dan oleh sebab itu... kemaren ada yg nanya juga, kali ini saya sedikit share bagamana cara gila generate tabel db to pojo.


---
public class Nera extends SingleFrameApplication {
    JLabel label;
 
    @Override
    protected void startup() {
     ColumnDAO dao = new ColumnDAO();
     List<ColumnModel> list = dao.getColumnInfo("try2.student");
     for (ColumnModel columnModel : list) {
   System.out.println("private "+getVeriabel(columnModel.getType())+" "+getVeriabelName(columnModel.getField()) +";");
  }
   
     System.out.println("Map<String, String> map = new HashMap();");
   
    }
 
    String getVeriabel(String type){
     String[] typeOne = type.split("\\(");  
     String typeJava = Preference.map.get(typeOne[0]);
     if(typeJava==null){
      typeJava = Preference.map.get(typeOne[0].toUpperCase());
     }
     if(typeJava!=null && typeJava.equals("enum")){//need additional
      String[] enumtypes = typeJava.split("\\)");
      String[] enums =  enumtypes[0].split(",");
      return "enum";
     }
     return typeJava;
    }
 
    String getVeriabelName(String type){
     String name = "";
     type = type.toLowerCase();
     String[] nameOne = type.split("_");
     if(nameOne.length>0){
      name += nameOne[0];
      for (int i = 1; i < nameOne.length; i++) {
    char[] charNames= nameOne[i].toCharArray();
    String namePart = (""+charNames[0]).toString().toUpperCase();
    for (int j = 1; j < charNames.length; j++) {
     namePart+=""+charNames[j];
    }
    name+=namePart;
   }
     }
     return name;
    }
    public static void main(String[] args) {
        Application.launch(Nera .class, args);
    }  
}
public class ColumnDAO {

 Sql2o sql2o = new Sql2o("jdbc:mysql://localhost:3306/master", "root", "");

 public List<ColumnModel> getColumnInfo(String tablename){
     String sql = "SHOW COLUMNS FROM "+tablename;
     Map<String, String> map = new HashMap();
     map.put("Field", "Field");
     map.put("Type", "Type");
     map.put("Null", "Null");
     map.put("Key", "Key");
     map.put("Default", "Default");
     map.put("Extra", "Extra");
   
     sql2o.setDefaultColumnMappings(map);
     try (Connection con = sql2o.open()) {
         return con.createQuery(sql)
             .executeAndFetch(ColumnModel.class);
     }
   
 }
}
public class ColumnModel {
 String Field;
 String Type;
 String Null;
 String Key;
 String Default;
 String Extra;
//getset
}
public class Preference {
 public static Map<String, String> map = new HashMap();
 static {
  map.put("INT", "int");
  map.put("TINYINT", "boolean");
  map.put("SMALLINT", "int");
  map.put("MEDIUMINT", "int");
  map.put("BIGINT", "int");
  map.put("FLOAT", "double");
  map.put("DOUBLE", "double");
  map.put("DECIMAL", "double");
  map.put("DATE", "Date");
  map.put("DATETIME", "Date");
  map.put("TIMESTAMP", "Date");
  map.put("TIME", "Date");
  map.put("YEAR", "Date");
  map.put("CHAR", "char");
  map.put("VARCHAR", "String");
  map.put("BLOB", "String");
  map.put("TEXT", "String");
  map.put("TINYBLOB", "String");
  map.put("TINYTEXT", "String");
  map.put("MEDIUMBLOB", "String");
  map.put("MEDIUMTEXT", "String");
  map.put("LONGBLOB", "String");
  map.put("LONGTEXT", "String");
  map.put("ENUM", "[enum]");
 }
}
---

Godot Engine : Apa itu Godot Engine?

♠ Posted by Unknown in
 Godot Engine adalah salah satu alternative game berbasis opensource  berlisensikan The MIT License (MIT) sponsored by Okam Studio. Dan versi terbarunya dapat didowload di sini.

Game engine ini sangat powerfull meski masih dalam tahap pengembangan, dengan engine ini kita dapat membuat game 2D atau 3D. Engine ini menggunakan bahasa pemograman GDScript yang sekilas mirip bahasa pemograman Python. Engine ini juga support berbagai jenis platform diantaranya: Android, Ios, Windows, Osx, Linux, HTML5, Playstation 3 and Playstation Vita (only with license from Sony).

Berikut tampilan Godot Engine:




Untuk dokumentasi developernya bisa dilihat disini.