Solusi File yang Susah DiCompress
Menerjemahkan Dokumen dengan Google Docs
Terkadang kita perlu menerjemahkan sebuah dokumen untuk tujuan tertentu. Salah satunya dengan memanfaatkan google translate. Kalau menerjemahkan dengan copas satu per satu tentunya memakan waktu cukup lama. Alternatif lain, Anda bisa langsung upload dokumen dan memanfaatkan fitur translate a document milik google translate. Namun kekurangan menggunakan cara ini, format hasil translate seringkali kacau.
Hasil Translate Dokumen menggunakan Fitur Translate a Document miilik Google Translate
Supaya hasilnya lebih beraturan, Anda bisa memanfaatkan Aplikasi lain dari google, yaitu Google Drive dan Google Docs.
Pertama, upload dokumen yang ingin Anda translate ke Google Drive. Setelah itu, klik kanan dokumen tersebut, open with Google Docs.
Membuka dokumen di Google Docs
Anda kemudian di bawa ke aplikasi Google Docs. Untuk translate dokumen, pilih Tools –> Translate Document.. –> Choose a language , pilih bahasa tujuan translate (misal: Indonesian).
Hasil translate lebih rapi daripada yang langsung menggunakan tools translate a document milik Google Translate. Terkadang, hasil translate bisa terpisah tiap halaman, di mana halaman pertama apa yang ditranslate, halaman kedua hasil translate, dan seterusnya.
Addition:
Apabila Anda mengalami kendala koneksi, Anda bisa juga memanfaatkan kamus offline Inggris-Indonesia seperti kamus 2.04 misalnya.
Crop Foto
Memotong Foto (Crop Foto) secara umum dapat dibedakan 2 macam :
1. Crop Foto untuk mendapatkan Sepotong Foto
Crop foto jenis ini mudah dilakukan. Bisa dengan menggunakan screenshoot, photoshop, Microsoft Office Picture Manager.
Contoh kasus, penulis ingin memotong foto berikut untuk diambil foto penulis saja
Misal, dengan menggunakan Microsoft Office Picture Manager, cukup click kanan foto –> Edit Pictures.. –> pada tab sebelah kanan pilih crop –> crop foto sesuai keinginan
Setelah selesai –> klik OK. Lalu simpan dengan nama file baru (file –> save as..)
hasil
2. Crop Foto untuk mendapatkan banyak Potongan Foto
Bila kita ingin mendapatkan banyak potongan foto dari sebuah foto..tentunya sulit kalau harus manual crop dan simpan satu per satu bagian yang di crop.. Supaya lebih cepat, kita dapat melakukan slicing pada foto dengan memanfaatkan photoshop.
Misal saya punya foto scan seperti berikut
Saya ingin mendapatkan potongan masing-masing angka arab pada foto tersebut. Langkah-Langkahnya :
buka photoshop –> click ctrl + R maka akan muncul ruler pada halaman kerja
Tarik ruler vertikal dan horizontal ke foto untuk penanda bagian yang akan dipotong.
Setelah semua bagian yang ingin dipotong ditandai dengan ruler, selanjutnya lakukan pemotongan menggunakan tool pisau (slice) yang ada di panel sebelah kiri (cara cepat : klik tombol k). Lakukan pemotongan sesuai kebutuhan..
Setelah selesai, lakukan penyimpanan –> pilih file –> save for web and devices..-> save –> pada bagian save as type pilih images only –> save
Hasilnya, kita peroleh potongan-potongan foto sesuai slicing yang telah kita lakukan
Trik Download File di SlideShare (Disable Save by Author)
Mendownload File di SlideShare biasanya mudah bila fitur save-nya tidak di-disable oleh Author. Namun bila di disable oleh author dan kita benar-benar butuh, sebaiknya memang menghubungi authornya. Tetapi bila tidak memungkinkan, dan tujuannya untuk pembelajaran. Langkah berikut, bisa Anda tempuh.
Misalnya saya mengambil studi kasus file di http://www.slideshare.net/arefqodari/evolutionary-programming ,
Langkah 1, pilih view full screen file yang ingin didownload.
Setelah itu, klik kanan –> save image as.. Lakukan satu per satu untuk keseluruhan slide.
Langkah 2, bila Anda sabar melakukan save slide satu per satu seperti langkah 1..maka Anda tidak perlu lanjut ke langkah ini. Tapi bila Anda ingin cepat..Manfaatkan tool Internet Download Manager.
Pilih Tasks –> Add batch download –> pada bagian Address copy-kan alamat gambar slide (untuk mendapatkan alamat gambar, caranya dengan copy image URL). Setelah itu ganti angka yang bersifat berulang sampai slide terakhir.
Contoh pada kasus ini, angka yang berulang adalah angka 1 (dapat dicek dengan membandingkan image URL slide satu dengan image URL slide berikutnya), ganti Angka 1 dengan tanda *. Sehingga alamat menjadi :
http://image.slidesharecdn.com/ep2-110117221139-phpapp01/95/evolutionary-programming-*-1024.jpg?cb=1295325947
Lanjut pada bagian replace asterisk, pilih Numbers, pada bagian From isi 1 (slide awal) dan pada bagian To isi dengan 70(slide terakhir). Selesai klik ok
Selanjutnya pada bagian All files to one directory, pilih lokasi penyimpanan –> OK –> Add files to the queue: Main download queue, centang Start queue processing –> OK
Tunggu proses selesai, dan seluruh slide bisa tersimpan :)
Nb :
Kekurangan dengan cara ini adalah, slide tersimpan dalam bentuk gambar (image)
Virus Facebook Maret 2015
Sempet kaget ketika membuka akun facebook sendiri yang terlihat normal-normal saja, ketika profil kita dilihat lewat akun facebook lain ternyata ada orang yg share link “apa yang kau lakukan di video ini ?” dan tag juga nama kita. Akan tetapi, anehnya link tersebut tidak tampak di profil kita, hanya bisa dilihat lewat akun facebook orang lain. Sepertinya ini jenis video spam/virus facebook yang baru.
Biasanya ketika ada orang yang salah klik sesuatu, akan berimbas pula ke teman-teman yang ada di lingkaran pertemanannya (alias bareng kena spam/virus tersebut). Pertama saya cek di bagian Settings –> Apps. Ternyata tidak ada yang mencurigakan
Inspeksi dilanjutkan ke bagian Activity Log –> Posts by Others. Nah disini ketemu biang keladinya. tiba-tiba ada share link yg turut tag akun fb saya. Solusinya pilih gambar pensil –> Hidden from Timeline.
Mengapa tidak pilih Report/Remove Tag ?, karena saya coba tidak bisa, jadi alternatifnya Hidden from Timeline. Dan akun profile fb kembali normal baik dibuka oleh akun pribadi maupun lewat akun orang lain.
Semoga bermanfaat :)
Cara Mengedit Foto / Gambar Supaya Background Transparan
Menukar Fungsi Tombol Keyboard
salah satu atau beberapa tombol anda ada yang bermasalah ???, Anda dapat mengganti fungsi tombol Anda yang bermasalah dengan tombol lain yang masih normal dengan bantuan software KeyTweak. Software ini gratis, dapat didownload di softpedia.com.
Setelah terinstall, lalu jalankan, maka akan muncul tampilan seperti dibawah ini:
Kebetulan tombol laptop saya yang bermasalah tombol A, maka saya tukar dengan tombol Q yang tidak terlalu sering dipakai.
Caranya klik nomor tombol pada aplikasi tersebut, kemudian pada choose new remppping, pilih tombol penggantinya, klik remap key. Bila ingin mengganti tombol yang lain, tinggal ulangi dengan cara yang sama..Setelah selesai pilih apply.
Setelah itu, restart laptop/PC Anda, maka tombol keyboard telah tertukar sesuai settingan Anda ;)
Java Database Connectivity
a. Membuat Database Baru
CREATE DATABASE NAMA_DATABASE;
b. Menampilkan Database yang Telah Dibuat
SHOW DATABASES;
c. Menghapus Database yang Telah Dibuat
DROP DATABASE NAMA_DATABASE;
d. Menggunakan Database yang Telah Dibuat
USE NAMA_DATABASE;
e Membuat Tabel Baru pada Database yang Telah Dipilih
CREATE TABLE NAMA_TABLE ( NAMA_ATRIBUT TIPE_DATA [KETERANGAN], NAMA_ATRIBUT TIPE_DATA [KETERANGAN], )
Nb: KETERANGAN boleh disertakan, boleh tidak, sesuai dengan kebutuhan
f. Menampilkan Tabel
SHOW TABLES;
g. Menghapus Tabel
DROP TABLES NAMA_TABLE;
h. Menambah Data pada Tabel
INSERT INTO NAMA_TABLE ( (NAMA_ATRIBUT,…) VALUES (NILAI_ATRIBUT,…), (NILAI_ATRIBUT,…) );
i. Menampilkan Data yang ada pada Tabel
SELECT [NAMA_ATRIBUT,…] FROM [NAMA_TABEL,…];
Bila ingin menampilkan seluruh data pada tabel :
SELECT * FROM [NAMA_TABEL,…];
Bila ingin menampilkan data dengan criteria tertentu
SELECT [NAMA_ATRIBUT,…] FROM [NAMA_TABEL,…] [WHERE KONDISI];
j. Mengubah Data pada Tabel
UPDATE NAMA_TABEL SET NAMA_ATRIBUT = “NILAI BARU”, [WHERE KONDISI];
k. Menghapus Data pada Tabel
DELETE FROM NAMA_TABEL [WHERE KONDISI];
> Membuat Form Insert, Update, Delete Sederhana Menggunakan Java
Buat Form seperti berikut
Ubah property name dan text dari masing-masing komponen form menjadi seperti berikut:
Komponen | Name | Text |
jTextField1 | kodemk | kosong |
jTextField2 | matkul | kosong |
jTextField3 | sks | kosong |
jButton1 | btnClear | Clear |
jButton2 | btnAdd | Add |
jButton3 | btnEdit | Edit |
jButton4 | btnDelete | Delete |
Source Code Program:
import java.sql.*; import javax.swing.JOptionPane; public class Kuliah extends javax.swing.JFrame { Connection con; String url, db, driver, user; public Statement stat; public ResultSet rs; public void connect() { con = null; url = "jdbc:mysql://localhost:3306/"; db = "kuliah"; driver = "com.mysql.jdbc.Driver"; try { Class.forName(driver); } catch (ClassNotFoundException cnfe) { System.err.println("Class driver tidak ada : " + cnfe.getMessage()); } } public void hapus() { kodemk.setText(""); matkul.setText(""); sks.setText(""); kodemk.requestFocus(); } public Kuliah() { initComponents(); } private void kodemkActionPerformed(java.awt.event.ActionEvent evt) { connect(); try { con = DriverManager.getConnection(url + db, "root", ""); stat = con.createStatement(); String kode = "select * from mk where kodemk = '" + kodemk.getText() + "'"; rs = stat.executeQuery(kode); ResultSetMetaData meta = rs.getMetaData(); rs.beforeFirst(); if (rs.next()) { matkul.setText(rs.getString("matkul")); sks.setText(rs.getString("sks")); } else { JOptionPane.showMessageDialog(null, "Maaf data tidak ditemukan", "information", JOptionPane.INFORMATION_MESSAGE); hapus(); kodemk.requestFocus(); } } catch (SQLException se) { System.err.println("Terjadi kesalahan perintah SQL" + se.getMessage()); } } //menghapus konten pada form private void btnClearActionPerformed(java.awt.event.ActionEvent evt) { hapus(); } //menambah data tabel private void btnAddActionPerformed(java.awt.event.ActionEvent evt) { connect(); try { con = DriverManager.getConnection(url + db, "root", ""); stat = con.createStatement(); String kode = "insert into mk values ('" + kodemk.getText() + "','" + matkul.getText() + "','" + sks.getText() + "')"; int tambah = stat.executeUpdate(kode); if (tambah == 1) { JOptionPane.showMessageDialog(this, "Berhasil Menambah Data", "informasi", JOptionPane.INFORMATION_MESSAGE); System.out.println("1 data berhasil ditambahkan"); hapus(); kodemk.requestFocus(); } else { JOptionPane.showMessageDialog(this, "Gagal Menambah Data", "informasi", JOptionPane.INFORMATION_MESSAGE); } } catch (SQLException se) { JOptionPane.showMessageDialog(this, "Maaf kode tersebut sudah ada ", "CRITICSAL", JOptionPane.INFORMATION_MESSAGE); } } //update data tabel private void btnEditActionPerformed(java.awt.event.ActionEvent evt) { connect(); try { con = DriverManager.getConnection(url+db,"root",""); stat = con.createStatement(); String kode = "update mk set matkul = '"+matkul.getText()+"',sks='"+sks.getText()+"' where kodemk='"+kodemk.getText()+"'"; int edit = stat.executeUpdate(kode); if (edit==1){ JOptionPane.showMessageDialog(this, "Data berhasil diupdate","informasi",JOptionPane.INFORMATION_MESSAGE); hapus(); kodemk.requestFocus(); } else { JOptionPane.showMessageDialog(this, "Gagal memperbaiki data","informasi",JOptionPane.INFORMATION_MESSAGE); } } catch(SQLException se){ JOptionPane.showMessageDialog(this, "Terjadi kesalahan perintah SQL"+se.getMessage(),"CRITICSAL",JOptionPane.INFORMATION_MESSAGE); } } //menghapus data tabel private void btnDeleteActionPerformed(java.awt.event.ActionEvent evt) { connect(); try{ con = DriverManager.getConnection(url+db, "root",""); stat = con.createStatement(); String kode = "delete from mk where kodemk = '"+kodemk.getText()+"'"; int hapus = stat.executeUpdate(kode); if (hapus==1){ JOptionPane.showMessageDialog(this, "Data berhasil dihapus","informasi",JOptionPane.INFORMATION_MESSAGE); hapus(); kodemk.requestFocus(); } else { JOptionPane.showMessageDialog(this, "Gagal menghapus data","informasi",JOptionPane.INFORMATION_MESSAGE); } } catch(SQLException se){ JOptionPane.showMessageDialog(this, "Terjadi kesalahan perintah"+se.getMessage(),"CRITICSAL",JOptionPane.INFORMATION_MESSAGE); } }
GUI Lanjutan
- Membuat Form Sederhana
Ubah property name dan text dari masing-masing komponen form menjadi seperti berikut:
Komponen | Name | Text |
jLabel1 | lblNama | Nama |
jLabel2 | lblJK | Jenis Kelamin |
jLabel3 | lblHobi | Hobi |
jLabel4 | lblJurusan | Jurusan |
jTextField1 | txtNama | Kosong |
jRadioButton1 | rbLaki | Laki-Laki |
jRadioButton2 | rbPerempuan | Perempuan |
jCheckBox1 | cbHobi1 | Makan |
jCheckBox2 | cbHobi2 | Tidur |
jCheckBox3 | cbHobi3 | Internetan |
jCheckBox4 | cbHobi4 | Shopping |
listBox1 | lstJurusan | List Nama Jurusan |
jButton1 | btnSubmit | Submit |
Tambahkan code berikut pada btnSubmit
private void btSubmitActionPerformed(java.awt.event.ActionEvent evt) { String nama = ""; String jenisKelamin = ""; String hobi = ""; String jurusan = ""; String info = ""; nama = txtNama.getText(); if (rbLaki.isSelected()) { jenisKelamin += "Laki-Laki"; } else { jenisKelamin += "Perempuan"; } if (cbHobi1.isSelected()) { hobi += "Makan "; } if (cbHobi2.isSelected()) { hobi += "Tidur "; } if (cbHobi3.isSelected()) { hobi += "Internetan "; } if (cbHobi4.isSelected()) { hobi += "Shopping "; } jurusan = lstJurusan.getSelectedValue().toString(); info = "Nama Saya adalah " + nama + "\n."; info += "Jenis Kelamin : " + jenisKelamin + "\n."; info += "Hobi : " + hobi + "\n."; info += "Jurusan : " + jurusan; JOptionPane.showMessageDialog(null, info);
- Membuat Kalkulator Sederhana
Komponen | Name | Text |
jButton1 | btn0 | 0 |
jButton2 | btn1 | 1 |
jButton3 | btn2 | 2 |
jButton4 | btn3 | 3 |
jButton5 | btn4 | 4 |
jButton6 | btn5 | 5 |
jButton7 | btn6 | 6 |
jButton8 | btn7 | 7 |
jButton9 | btn8 | 8 |
jButton10 | btn9 | 9 |
jButton11 | btnTitik | . |
jButton12 | btnHapus | c |
jButton13 | btnTambah | + |
jButton14 | btnKurang | - |
jButton15 | btnKali | * |
jButton16 | btnBagi | / |
jButton17 | btnHasil | = |
jTextField1 | display | kosong |
Source Code:
String angka=""; double hasil, angka1,angka2; int pilih; public Kalkulator() { initComponents(); } private void btn0ActionPerformed(java.awt.event.ActionEvent evt) { angka +="0"; display.setText(angka); } private void btn1ActionPerformed(java.awt.event.ActionEvent evt) { angka +="1"; display.setText(angka); } private void btnTitikActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: angka +="."; display.setText(angka); } private void btn2ActionPerformed(java.awt.event.ActionEvent evt) { angka +="2"; display.setText(angka); } private void btn3ActionPerformed(java.awt.event.ActionEvent evt) { angka +="3"; display.setText(angka); } private void btn4ActionPerformed(java.awt.event.ActionEvent evt) { angka +="4"; display.setText(angka); } private void btn5ActionPerformed(java.awt.event.ActionEvent evt) { angka +="5"; display.setText(angka); } private void btn6ActionPerformed(java.awt.event.ActionEvent evt) { angka +="6"; display.setText(angka); } private void btn7ActionPerformed(java.awt.event.ActionEvent evt) { angka +="7"; display.setText(angka); } private void btn8ActionPerformed(java.awt.event.ActionEvent evt) { angka +="8"; display.setText(angka); } private void btn9ActionPerformed(java.awt.event.ActionEvent evt) { angka +="9"; display.setText(angka); } private void btnTambahActionPerformed(java.awt.event.ActionEvent evt) { angka1 = Double.parseDouble(angka); display.setText("+"); angka = ""; pilih = 1; } private void btnKurangActionPerformed(java.awt.event.ActionEvent evt) { angka1 = Double.parseDouble(angka); display.setText("-"); angka = ""; pilih = 2; } private void btnKaliActionPerformed(java.awt.event.ActionEvent evt) { angka1 = Double.parseDouble(angka); display.setText("*"); angka = ""; pilih = 3; } private void btnBagiActionPerformed(java.awt.event.ActionEvent evt) { angka1 = Double.parseDouble(angka); display.setText("/"); angka = ""; pilih = 4; } private void btnHasilActionPerformed(java.awt.event.ActionEvent evt) { switch (pilih ){ case 1 : angka2 = Double.parseDouble(angka); hasil = angka1 + angka2; angka = Double.toString(hasil); display.setText(angka); break; case 2 : angka2 = Double.parseDouble(angka); hasil = angka1 - angka2; angka = Double.toString(hasil); display.setText(angka); break; case 3 : angka2 = Double.parseDouble(angka); hasil = angka1 * angka2; angka = Double.toString(hasil); display.setText(angka); break; case 4 : angka2 = Double.parseDouble(angka); hasil = angka1 / angka2; angka = Double.toString(hasil); display.setText(angka); break; default : break; } } private void btnHapusActionPerformed(java.awt.event.ActionEvent evt) { display.setText(""); angka1=0; angka2=0; hasil =0; angka=""; }
Referensi : Modul Praktikum PBO UKDW
GUI Dasar
a. Membuat Frame
Ada 2 cara untuk membuat frame :
- Membuat class yang objek utamanya diinstansiasi dari class JFrame
Contoh:
JFrame frame = new JFrame (“teks….”);- Membuat class yang diturunkan dari class JFrame.
Contoh:
class Frame extends JFrame { }
b. Meletakkan Komponen ke Frame
- Mendeklarasikan komponen-komponen
JLabel namaKomponen = new JLabel (“teks…”);
c. Memilih Layout
- Cara 1 :
getContentPane ().setLayout (new FlowLayout());
- Cara 2 :
Container konten = getContentPane();
Konten.setLayout (new FlowLayout());- Cara 3 :
frame.add (nama Komponen);
d. Memasukkan komponen-komponen ke Frame
- Cara 1 :
getContentPane().add(namaKomponen);
- Cara 2 :
Konten.add(namaKomponen);
> Pengaplikasian
1. Text Field
import javax.swing.*;
import java.awt.*; import java.awt.event.ActionListener; public class TextField { private JFrame layar; private JLabel l1,l2; private JTextField tf1; private JPasswordField psw; private JButton b1,b2; //membuat instance dari kelas-kelas tersebut public TextField(){ layar = new JFrame ("Text Field"); l1 = new JLabel ("Username : "); l2 = new JLabel ("Password : "); tf1 = new JTextField (25); psw = new JPasswordField (25); b1 = new JButton("OK"); b2 = new JButton ("Cancel"); Container c = layar.getContentPane(); c.setLayout(new FlowLayout()); c.add(l1); c.add(tf1); c.add(l2); c.add(psw); c.add(b1); c.add(b2); b1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent ae) { JOptionPane.showMessageDialog(null, "Pastikan Data diisi dengan Benar"); } }); b2.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent ae) { tf1.setText(null); psw.setText(null); } }); layar.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); layar.setSize(380,150); layar.setVisible(true); } public static void main(String[] args) { new TextField(); } }
2. Form Checlist
import javax.swing.*;
import java.awt.*; import java.awt.event.*; public class CheckList extends JFrame{ //membuat instance baru dari CheckList public CheckList(){ JPanel panel1 = new JPanel(); JPanel panel2 = new JPanel(); panel1.setLayout(new GridLayout(3,1)); panel2.setLayout(new GridLayout(3,1)); Container c = this.getContentPane(); c.setLayout(new GridLayout(1,2)); c.add(panel1); c.add(panel2); JCheckBox cb1 = new JCheckBox("WIndows"); JCheckBox cb2 = new JCheckBox("Linux"); JCheckBox cb3 = new JCheckBox("Max OS"); panel1.setBorder(BorderFactory.createTitledBorder("Sistem Operasi")); panel1.add(cb1); panel1.add(cb2); panel1.add(cb3); JRadioButton rb1 = new JRadioButton("Distributor"); JRadioButton rb2 = new JRadioButton("Reseller"); JRadioButton rb3 = new JRadioButton("Partner"); //daftarkan setiap radiobutton sebagai anggota grup ButtonGroup rbgroup = new ButtonGroup(); rbgroup.add(rb1); rbgroup.add(rb2); rbgroup.add(rb3); panel2.setBorder(BorderFactory.createTitledBorder("Status")); panel2.add(rb1); panel2.add(rb2); panel2.add(rb3); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setLocation(60,60); this.setSize(300,200); this.setVisible(true); } public static void main(String[] args) { new CheckList(); } }
3. Kuas
import java.awt.*;
import java.awt.event.*; import javax.swing.*; public class Kuas extends JPanel{ private Point posisi; private Color warna; public Kuas(){ addMouseMotionListener(new MMListener()); } class MMListener extends MouseMotionAdapter { //tambahkan kode untuk tombol mouse public void mouseDragged(MouseEvent ev) { if (ev.isMetaDown()){ System.out.println("Right clicked"); posisi = ev.getPoint(); warna = getBackground(); repaint(); } else { posisi = ev.getPoint(); System.out.println("Repaint and clicked at " + posisi.x + " "+posisi.y); warna = Color.RED; repaint(); } } } public void paintComponent (Graphics g){ g.setColor(warna); if (posisi != null){ g.fillOval(posisi.x, posisi.y, 10, 10); } } public static void main(String[] args) { JFrame layar = new JFrame(); Kuas m = new Kuas(); m.setSize(300,300); Container c = layar.getContentPane(); c.setLayout(null); c.add(m); layar.setLocation(200,200); layar.setSize(300,300); layar.setTitle("Program Kuas"); layar.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); layar.show(); } }