Selasa, 04 Juli 2017

TUTORIAL PEMBUATAN DAN PENGEDITAN VIDEO TALKSHOW

TUTORIAL PEMBUATAN DAN PENGEDITAN  VIDEO TALKSHOW

Langkah pertama sebelum mengedit video yaitu kita membuat video talkshownya terlebih dahulu. Sebelum kita membuat video kita harus menentukan tempat yang bagus, baik dari segi pemandangan, suara, dan cahaya untuk melakukan take video dan alat yang dibutuhkan yang pasti kamera, sebaiknya pengambilan video dilakukan di tempat yang sunyi agar suara yang kita keluarkan terekam secara masksimal.
Setelah video yang kita buat selesai, baru kita mengedit videonya. Disini kami menggunakan aplikasi FilmoraGo.


Aplikasi ini bukan hanya dikhususkan untuk smartphone Android saja namun ternyata ada pula aplikasi serupa untuk dipasang dalam komputer maupun laptop. Berbeda dengan aplikasi kebanyakan yang menyisipkan Watermark pada saat pembuatan video, FilmoraGo tidak melakukannya sehingga kita bisa lebih bebas mengkreasikan karya video kita kepada orang lain.
Tak ada batasan waktu juga membuat FilmoraGo menjadi lirikan utama para pengguna Android untuk memakai aplikasi tersebut mengedit video-video yang mereka miliki.
Untuk bisa memulai mengedit video melalui aplikasi FilmoraGo maka:
1.      Buka aplikasi FilmoraGo tersebut dan mulailah mencari video yang hendak anda akan edit. Pilih buat video baru






2.      Setelah itu, langkah keduanya yakni memilih tema, menambahkan musik, menggunakan transisi, menambahkan efek efek 3D, dan jika anda ingin bisa juga menambahkan judul dengan gaya teks yang berbeda-beda.






3.      Kita bisa juga mnengedit alat seperti memotong video, crop, subtitel, pip, voiceover, audio mixer, filter, overlay, elemen, judul, kecepatan, putar, adjust, duplikat  video




4.      Setelahnya Langkah terakhir yakni kita menyimpan hasil editan video yang kita miliki dalam external memory smartphone Android atau bisa juga langsung membagikannya di Instagram, Facebook, Vimeo, WhatsApp, YouTube dan juga melalui email.





Cara meningkatkan kualitas suara di Video

Untuk meningkatkan kualitas suara video di videopad, langkah pertama yang harus kita lakukan adalah membuka aplikasi dan memasukan video yang ingin kita tingkatkan kualitasnya. kemudian klik menu audio efek di bagian atas.



Setelah muncul jendela pengeditan klik add efek, kemudian pilih Amplify. Amplify ini berfungsi untuk mengeclkan atau memperbesar amplitudo. Tentu kalian ingat pelajaran fisika tentang gelombang, dimana anda memperoleh pengetahuan dasar bagaimana pengaruh amplitudo dengan kuat lemahnya bunyi.




Silahkan atur sesuai yang anda inginkan. Angka 100 menunjukan bahwa suara tersebut sama dengan suara asli video. angka lebih besar akan membuat amplitudo dan kuat lemah bunyi menjadi lebih besar. Sementara dibawah 100 akan membuat amplitudo dan kuat lemah bunyi menjadi lebih kecil.



Jika anda telah selesai menentukan angka yang cocok dengan yang anda mau. Silahkan klik apply sehingga anda akan kembali di bawa ke tampilan videopad yang biasanya. Lakukan berbagai pengediatn yang lain yang anda mau. sehingga saat anda selesai dan puas dengan video hasil editan anda, silahkan klik Export video anda ke ekstensi yang anda mau.

5.      Untuk menambahkan volume suara di video anda, kami disini menggunakan aplikasi VideoPad

Nah itulah tadi tutorial membuat dan mengedit video talkshow. Dan hasil video dan hasil pengeditan video talkshow kami, dapat anda lihat di Youtube.




Share:

Senin, 22 Mei 2017




MultiChat




Pertama, Siapkan aplikasi untuk menuliskan perintah coding.

Jika menggunakan Sistem Operasi Windows, anda bisa menggunakan Textpad /

Notepad kemudian akan di Compile/ Execute dengan Java.

Jika menggunakan Linux, anda bisa menggunakan Geany / Notepadqq kemuadian akan di Compile /Execute dengan Java.


Lalu Tulis Perintah Coding seperti ini:

Syntax yang pertama, ChatServer:
import java.io.*;
import java.net.*;import java.util.*;


public class ChatServer {
private static int uniqueId;
private ArrayList<ChatServer.ClientThread> clients;
private int port;
private boolean keepGoing;
public ChatServer() {
this.port = 9999;
clients = new ArrayList();
}



public void start() {
keepGoing = true;
try {

ServerSocket serverSocket = new ServerSocket(port);
while (keepGoing) {
System.out.println("ChatServer waiting for Clients on port " + port + ".");
Socket socket = serverSocket.accept();
if (!keepGoing) {
break;
}

ChatServer.ClientThread t = new ChatServer.ClientThread(socket);
clients.add(t);
t.start();
send("login~" + t.username + "~" + t.username + " sedang login…~Server~\n");
}
try {
serverSocket.close();
for (int i = 0; i < clients.size(); ++i) {
ChatServer.ClientThread tc = clients.get(i);
try {

tc.sInput.close();
tc.sOutput.close();
tc.socket.close();
} catch (IOException ioE) {
}
}
} catch (Exception e) {
System.out.println("Exception closing the server and clients: " + e);
}
} catch (IOException e) {
String msg = "Exception on new ServerSocket: " + e + "\n";
System.out.println(msg);
}
}


private synchronized void send(String message) {
for (int i = clients.size(); i >= 0;) {
ChatServer.ClientThread ct = clients.get(i);
if (!ct.writeMsg(message)) {
clients.remove(i);
System.out.println("Disconnected Client " + ct.username + " removed from list.");
}
}
}



private String getClients() {
String s = "";
for (ClientThread clientThread : clients) {
s += clientThread.username + ":";
}
s += "—";
System.out.println(s);
return s;
}


private synchronized void remove(int id) {
for (int i = 0; i < clients.size(); ++i) {
ChatServer.ClientThread ct = clients.get(i);
if (ct.id == id) {
clients.remove(i);
return;

}
}
}

public static void main(String[] args) {
ChatServer server = new ChatServer();
server.start();
}


private class ClientThread extends Thread {
private Socket socket;
private ObjectInputStream sInput;
private ObjectOutputStream sOutput;
private int id;
private String username;


public ClientThread(Socket socket) {
id = ++uniqueId;
this.socket = socket;
System.out.println("Menciptakan Object Input/Output Streams");

try {
sOutput = new ObjectOutputStream(socket.getOutputStream());
sInput = new ObjectInputStream(socket.getInputStream());
String message = (String) sInput.readObject();

username = message.split("~")[1];
System.out.println(username + " masuk.");
} catch (IOException e) {
System.out.println("Exception creating new Input/output Streams: " + e);
} catch (ClassNotFoundException e) {
}
}



@Override
public void run() {
boolean keepGoing = true;
while (keepGoing) {



String message;
try {
message = sInput.readObject().toString();
} catch (IOException e) {
System.out.println(username + " Exception reading Streams: " + e);
break;
} catch (ClassNotFoundException e2) {
break;
}



String type = message.split("~")[0];
String pengirim = message.split("~")[1];
String text = message.split("~")[2];
String kepada = message.split("~")[3];
String response;
switch (type) {

case "postText":
response = "recieveText~" + pengirim + "~" + text + "~" + kepada + "~\n";
send(response);
break;

case "postPrivateText":
response = "recievePrivateText~" + pengirim + "~"+ text + "~" + kepada + "~\n";
send(response);
break;

case "login":
response = "login~" + pengirim + "~" + text + "~" + kepada + "~\n";
send(response);
break;

case "logout":
response = "logout~" + pengirim + "~" + text + "~" + kepada + "~\n";
send(response);
break;

case "list":
response = "list~server~" + getClients() + "~ ~ ~ ~ ~\n";
send(response);
break;
}
}
remove(id);
close();
}
private void close() {
try {
if (sOutput != null) {
sOutput.close();
}
} catch (Exception e) {
}
try {
if (sInput != null) {
sInput.close();
}
} catch (Exception e) {
}
try {
if (socket != null) {
socket.close();
}
} catch (Exception e) {
}
}
private boolean writeMsg(String msg) {
if (!socket.isConnected()) {
close();
return false;
}
try {
sOutput.writeObject(msg);
} catch (IOException e) {
System.out.println("Error sending message to " + username);
System.out.println(e.toString());
}
return true;
}
}
}


Syntax, ChatClient:
import java.io.IOException;

import java.io.ObjectInputStream;

import java.io.ObjectOutputStream;

import java.net.Socket;

import java.util.ArrayList;

import java.util.List;

import java.util.logging.Level;

import java.util.logging.Logger;

import javax.swing.ImageIcon;

import javax.swing.JLabel;

import javax.swing.table.DefaultTableModel;



public class ChatClient extends javax.swing.JFrame {



/**

* Creates new form ChatClient

*/

private ObjectInputStream input;

private ObjectOutputStream output;

private Socket socket;

private String server, username;

private int port;

private List<String> clients;



public ChatClient() {

clients = new ArrayList();

initComponents();



}



public boolean start() {

try {

socket = new Socket(server, port);

} catch (Exception ec) {

System.out.println("Error connectiong to server:" + ec);

return false;

}



String msg = "Connection accepted " + socket.getInetAddress() + ":" + socket.getPort();

System.out.println(msg);



try {

input = new ObjectInputStream(socket.getInputStream());

output = new ObjectOutputStream(socket.getOutputStream());

} catch (IOException eIO) {

System.out.println("Exception creating new Input/output Streams: " + eIO);

return false;

}



new ChatClient.ListenFromServer().start();



try {

output.writeObject("login~" + username + "~" + username + " sedang login…~server~\n");

output.writeObject("list~" + username + "~" + username + " sedang login…~server~\n");



} catch (IOException eIO) {

System.out.println("Exception doing login : " + eIO);

disconnect();

return false;

}



return true;

}



private void disconnect() {

try {

// TODO add your handling code here:

output.writeObject("logout~" + username + "~"+ username + " sudah logout…~Server~\n");

} catch (IOException ex) {

//Logger.getLogger(ChatClient.class.getName()).log(Level.SEVERE, null, ex);

}



try {

if (input != null) {

input.close();

}

} catch (Exception e) {

}

try {

if (output != null) {

output.close();

}

} catch (Exception e) {

}

try {

if (socket != null) {

socket.close();

}

} catch (Exception e) {

}

}



/**

* This method is called from within the constructor to initialize the form.

* WARNING: Do NOT modify this code. The content of this method is always

* regenerated by the Form Editor.

*/

@SuppressWarnings("unchecked")


private void initComponents() {



jScrollPane1 = new javax.swing.JScrollPane();

viewTextArea = new javax.swing.JTextArea();

jScrollPane2 = new javax.swing.JScrollPane();

clientTable = new javax.swing.JTable();

postTextField = new javax.swing.JTextField();

kirimButton = new javax.swing.JButton();

lbljpg   = new javax.swing.JLabel(new ImageIcon("Documents:fb.jpg"));

jLabel2 = new javax.swing.JLabel();

serverTextField = new javax.swing.JTextField();

jLabel3 = new javax.swing.JLabel();

portTextField = new javax.swing.JTextField();

masukButton = new javax.swing.JButton();

jLabel4 = new javax.swing.JLabel();

usernameTextField = new javax.swing.JTextField();



setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);



viewTextArea.setEditable(false);

viewTextArea.setColumns(20);

viewTextArea.setLineWrap(true);

viewTextArea.setRows(5);

viewTextArea.setFocusable(false);

jScrollPane1.setViewportView(viewTextArea);



jScrollPane2.setViewportView(clientTable);



postTextField.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

postTextFieldActionPerformed(evt);

}

});



kirimButton.setText("Kirim");

kirimButton.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

kirimButtonActionPerformed(evt);

}

});



jLabel2.setText("Server");



serverTextField.setText("10.17.0.0");



jLabel3.setText("Port");



portTextField.setText("9999");



masukButton.setText("Masuk");

masukButton.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

masukButtonActionPerformed(evt);

}

});



jLabel4.setText("Username");



usernameTextField.setText("4 CF");



javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());

getContentPane().setLayout(layout);

layout.setHorizontalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup()

.addContainerGap()

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup()

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()

.addComponent(postTextField)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(kirimButton))

.addComponent(jScrollPane1))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 259, javax.swing.GroupLayout.PREFERRED_SIZE))

.addGroup(layout.createSequentialGroup()

.addComponent(lbljpg)

.addComponent(jLabel2)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(serverTextField, javax.swing.GroupLayout.PREFERRED_SIZE, 167, javax.swing.GroupLayout.PREFERRED_SIZE)

.addGap(18, 18, 18)

.addComponent(jLabel3)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(portTextField, javax.swing.GroupLayout.PREFERRED_SIZE, 46, javax.swing.GroupLayout.PREFERRED_SIZE)

.addGap(18, 18, 18)

.addComponent(jLabel4)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(usernameTextField, javax.swing.GroupLayout.DEFAULT_SIZE, 194, Short.MAX_VALUE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(masukButton)))

.addContainerGap())

);

layout.setVerticalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()

.addContainerGap()

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(lbljpg)

.addComponent(jLabel2)

.addComponent(serverTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jLabel3)

.addComponent(portTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(masukButton)

.addComponent(jLabel4)

.addComponent(usernameTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(jScrollPane2, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 427, Short.MAX_VALUE)

.addGroup(layout.createSequentialGroup()

.addComponent(jScrollPane1)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(postTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(kirimButton))))

.addContainerGap())

);



pack();

}// </editor-fold>



private void masukButtonActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

this.server = serverTextField.getText();

this.port = new Integer(portTextField.getText());

this.username = usernameTextField.getText();

start();

}



private void kirimButtonActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

try {

String message = "postText~" + username + "~" + postTextField.getText() + "~all~\n";

output.writeObject(message);

postTextField.setText("");

} catch (IOException ex) {

Logger.getLogger(ChatClient.class.getName()).log(Level.SEVERE, null, ex);

}

}



private void postTextFieldActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

kirimButtonActionPerformed(evt);

}



/**

* @param args the command line arguments

*/

public static void main(String args[]) {

/* Set the Nimbus look and feel */

//<editor-fold defaultstate=”collapsed” desc=” Look and feel setting code (optional) “>

/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.

* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html

*/

try {

for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {

if ("Nimbus".equals(info.getName())) {

javax.swing.UIManager.setLookAndFeel(info.getClassName());

break;

}

}

} catch (ClassNotFoundException ex) {

java.util.logging.Logger.getLogger(ChatClient.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

} catch (InstantiationException ex) {

java.util.logging.Logger.getLogger(ChatClient.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

} catch (IllegalAccessException ex) {

java.util.logging.Logger.getLogger(ChatClient.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

} catch (javax.swing.UnsupportedLookAndFeelException ex) {

java.util.logging.Logger.getLogger(ChatClient.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

}

//</editor-fold>



/* Create and display the form */

java.awt.EventQueue.invokeLater(new Runnable() {

@Override

public void run() {



new ChatClient().setVisible(true);

}

});

}

// Variables declaration – do not modify

private javax.swing.JTable clientTable;

private javax.swing.JLabel jLabel2;

private javax.swing.JLabel jLabel3;

private javax.swing.JLabel jLabel4;

private javax.swing.JScrollPane jScrollPane1;

private javax.swing.JScrollPane jScrollPane2;

private javax.swing.JButton kirimButton;

private javax.swing.JButton masukButton;

private javax.swing.JTextField portTextField;

private javax.swing.JTextField postTextField;

private javax.swing.JTextField serverTextField;

private javax.swing.JTextField usernameTextField;

private javax.swing.JTextArea viewTextArea;

private JLabel lbljpg ;

// End of variables declaration



class ListenFromServer extends Thread {



@Override

public void run() {

while (true) {

try {

String msg = (String) input.readObject();

String res;

String type = msg.split("~")[0];

String pengirim = msg.split("~")[1];

String text = msg.split("~")[2];

String kepada = msg.split("~")[3];

switch (type) {

case "recieveText":

res = pengirim + ": " + text;

viewTextArea.setText(viewTextArea.getText() + res + "\n");

break;

case "recievePrivateText":

res = pengirim + ": "+ text;

if (kepada.equals(username)) {

viewTextArea.setText(viewTextArea.getText() + res + "\n");

}

break;

case "login":

viewTextArea.setText(viewTextArea.getText() + pengirim + " sudah login…" + "\n");

clients.add(pengirim);

break;

case "logout":

viewTextArea.setText(viewTextArea.getText() + pengirim + " telah logout…" + "\n");

clients.remove(pengirim);

break;

case "list":

setTable(text);

break;

}

} catch (IOException e) {

System.out.println("Server has close the connection: " + e);

break;

} catch (ClassNotFoundException e2) {

}

}

}



private void setTable(String text) {

int rows = text.split(":").length  -1;

Object[][] data = new Object[rows][1];

for (int i = 0; i < rows; i++) {

String t = text.split(":")[i];

data[i][0] = t;

}

String[] header = {"Clients"};
clientTable.setModel(new DefaultTableModel(data, header));
}
}
}


Ouput:
Share:

Kamis, 04 Mei 2017

Membuat Browser Sederhana dengan Java

Pertama, Siapkan aplikasi untuk menuliskan perintah coding.

Jika menggunakan Sistem Operasi Windows, anda bisa menggunakan Textpad / Notepad kemudian akan di Compile/ Execute dengan Java.




Jika menggunakan Linux, anda bisa menggunakan Geany / Notepadqq kemuadian akan di Compile /Execute dengan Java.




Lalu Tulis Perintah Coding seperti ini





Maka nanti akan muncul hasil output seperti ini 

Pada Windows



Untuk memunculkan hasil output pada linux, gunakan perintah seperti ini




Share:

Menu Internet java

Pertama, Siapkan aplikasi untuk menuliskan perintah coding.

Jika menggunakan Sistem Operasi Windows, anda bisa menggunakan Textpad / Notepad kemudian akan di Compile/ Execute dengan Java.




Jika menggunakan Linux, anda bisa menggunakan Geany / Notepadqq kemuadian akan di Compile /Execute dengan Java.




Lalu Tulis Perintah Coding seperti ini




Maka nanti akan muncul hasil output seperti ini 

Pada Windows


Untuk memunculkan hasil output pada linux, gunakan perintah seperti ini



Share:

Info Server

Pertama, Siapkan aplikasi untuk menuliskan perintah coding.

Jika menggunakan Sistem Operasi Windows, anda bisa menggunakan Textpad / Notepad kemudian akan di Compile/ Execute dengan Java.




Jika menggunakan Linux, anda bisa menggunakan Geany / Notepadqq kemuadian akan di Compile /Execute dengan Java.




Lalu Tulis Perintah Coding seperti ini





Maka nanti akan muncul hasil output seperti ini 

Pada Windows



Untuk memunculkan hasil output pada linux, gunakan perintah seperti ini



Share:

Info CLient

Pertama, Siapkan aplikasi untuk menuliskan perintah coding.

Jika menggunakan Sistem Operasi Windows, anda bisa menggunakan Textpad / Notepad kemudian akan di Compile/ Execute dengan Java.




Jika menggunakan Linux, anda bisa menggunakan Geany / Notepadqq kemuadian akan di Compile /Execute dengan Java.




Lalu Tulis Perintah Coding seperti ini





Untuk memunculkan hasil output pada linux, gunakan perintah seperti ini




Share:

DisplayNet

Pertama, Siapkan aplikasi untuk menuliskan perintah coding.

Jika menggunakan Sistem Operasi Windows, anda bisa menggunakan Textpad / Notepad kemudian akan di Compile/ Execute dengan Java.




Jika menggunakan Linux, anda bisa menggunakan Geany / Notepadqq kemuadian akan di Compile /Execute dengan Java.




Lalu Tulis Perintah Coding seperti ini



Maka nanti akan muncul hasil output seperti ini 

Pada Windows



Untuk memunculkan hasil output pada linux, gunakan perintah seperti ini



Share: