Saturday, 24 October 2020

Tips membuat company profile yang menarik!

 



Tips Penting dalam Membuat Company Profile

Membuat company profile itu mudah loh, kalau Anda membaca tips jitu yang kami buat di bawah ini. Meski tidak ada patokan baku yang bisa digunakan, tapi percaya ‘deh’ kalau tips-tips ini bisa meningkatkan nilai jual perusahaan Anda.

Buat company profile ‘sesederhana’ mungkin. Sederhana yang kami tuliskan disini bukan berarti membuat company profile dengan font Times New Roman ukuran 12, berwarna hitam dan berlatar belakang putih.

Justru Anda bisa membuat company profile sekreatif mungkin sesuai dengan tim yang Anda punya, tentu menjadi keuntungan bila di dalam tim yang Anda miliki terdapat orang yang jago mendesain sesuatu.

Meski demikian tetap ingat bahwa buatlah company profile sesederhana namun sepadat mungkin. Intinya Anda wajib bisa memasukkan sebanyak-banyaknya informasi penting mengenai perusahaanmu ke dalam company profile namun tanpa membuatnya terlihat membosankan.

Artinya dibutuhkan seorang copywriter dan desainer yang handal dalam membuat company profile perusahaan Anda ini. Kalau tidak ada? Belajar saja, toh banyak video-video tutorial nya di Youtube.

Menentukan target pasar dengan benar. Kesalahan yang seringkali dilakukan oleh orang-orang yang membuat company profile adalah tidak menentukan target pasar mereka dengan benar. Hal ini tentu membuat isi yang ditulis di dalamnya menjadi tidak relevan terhadap para pembaca.

Anda yang memiliki target pasar anak muda misalnya, tentu bisa menyesuaikan desain dan konten dari company profile yang Anda punya agar lebih berwarna, lebih simpel, dan menggunakan banyak gambar misalnya.

Sementara Anda yang memiliki target pasar orang-orang tua hingga lanjut usia misalnya, bisa pula menyesuaikan desain dari company profile yang Anda punya agar lebih ‘padat’ dengan tulisan dan informasi, namun tetap terbaca dengan baik.

Platform yang tepat adalah kunci. Setelah bisa membuat desain dan konten company profile yang sesuai dengan target pasar, tips dari suksesnya company profile adalah platform bermain yang tepat.

Di era informatika macam sekarang ini misalnya, tentu tidak tepat apabila Anda masih membuat company profile cetak dan disebarkan manual secara luas. Tentu Anda yang menyasar target anak muda malah akan kehilangan mereka, karena anak muda cenderung menyukai informasi yang didapat dari gadget-gadget mereka.

Sementara Anda yang memiliki target pasar lansia misalnya, tentu tidak tepat pula bila justru memutuskan untuk membuat company profile secara online saja misalnya. Tentu para lansia yang jarang bermain gadget tidak akan terpapar dengan company profile Anda.

Tips mudah untuk mengakali beberapa permasalahan ini adalah dengan membuat company profile sekaligus di banyak platform. Proporsinya tinggal Anda sesuaikan dengan target pasar yang Anda punya, perbanyak proporsi platform dimana target pasar Anda ada disana.

Value terkadang menjual lebih. Banyak yang beranggapan nilai, visi, dan misi merupakan hal yang tidak terlalu penting di dalam pembuatan company profile. Tapi tahukah Anda bahwa kenyataannya justru terbalik.

Karena ternyata ada banyak konsumen yang justru terpikat terhadap suatu produk karena kesamaan nilai serta visi dan misi. Banyak orang yang memutuskan untuk memakai suatu brand dibanding brand lain hanya karena kesamaan nilai.

Bisa dibilang di bagian value serta visi dan misi, jangan hanya membuatnya tampak seolah perusahaan Anda merupakan perusahaan yang tanpa cacat dan selalu memiliki attitude positif. Namun buatlah agar perusahaan Anda benar-benar menjadi perusahaan yang demikian.

Tips lain terkait value dan konten adalah membuat company profile dengan banyak kalimat-kalimat positif. Cara ini merupakan salah satu cara marketing yang bisa kau terapkan di dalam pembuatan company profile yang Anda punya loh.

Kreativitas memang mahal. Banyak di luaran sana perusahaan-perusahaan yang mendambakan memiliki image brand yang baik, dengan produk ciamik serta company profile yang memanjakan mata, namun enggan mengeluarkan uang lebih.

Percayalah bahwa desain-desain produk dan company profile yang seliweran di internet, yang tampak memanjakan mata merupakan buah-buah tangan dari desainer grafis yang dibayar cukup mahal.

Kalau mengutip istilah zaman dulu sih ‘ada uang ada barang’. Jadi jangan pelit-pelit untuk menganggarkan sejumlah uang yang cukup besar untuk proses kreatif yang nantinya bakal bermanfaat untuk perusahaan Anda sendiri ini loh.

Informasi dasar wajib dimasukkan. Sebagai salah satu fungsi utama dari pembuatan company profile, informasi dasar merupakan informasi yang harus Anda masukkan ke dalam company profile yang Anda punya.

Selain itu tips penting dari kami yang harus Anda ingat adalah bahwa semakin transparan semakin menarik. Misalnya Anda yang berani menyajikan data-data berupa angka penjualan lengkap dengan keuntungan dan keuangan lainnya, tentu akan menambah nilai dari company profile tersebut.

Update update dan update. Seiring dengan berjalannya perusahaan yang Anda dirikan, tentu akan ada banyak perubahan di sana dan di sini. Hal ini tentu saja bisa membuat company profile yang sebelumnya Anda buat menjadi tidak relevan lagi.

Disinilah fungsi update akan bisa bermanfaat. Dengan rajin-rajin memperbarui company profile, tentu akan mengurangi rasa heran orang apabila ada misinformasi yang masih tercantum di dalamnya.

Thursday, 1 October 2020

review singkat PT. Softnet indonesia

 PT. Softnet indonesia

 

- profil perusahaan

 

Berdiri sejak 2010 yang bergerak di bidang solution services

Yang mencakup dari security services hingga big data services.

 

- produk perusahaan

 


 

- lokasi perusahaan

 

Dipo Tower - 12th Floor

Jl. Gatot Subroto Kav. 51 - 52

Jakarta 10260, Indonesia

 

Phone: +6221-2962 1234

Fax: +6221-2962 1235

 

- klien perusahaan

 


 

- review singkat

 

Memiliki 5 jenis services yang akan berguna untuk mengatasi masalah masalah yang bersangkutan dengan IT, adapun jenis services nya adalah sebagai berikut:

1. plan, menyediakan jasa perencanaan desain dan proposal untuk berbagai jenis kebutuhan

2. Implementasi, menyediakan jasa untuk mengaplikasikan solusi upgrade secara detail

3. Operasi, menyediakan jasa untuk mengoperasikan system yang perlu di monitoring

4. Retain,untuk memenuhi standar operasi dan service level agreement

5. Assist, untuk mendevelop skill internal suatu perusahaan dengan solusi yang telah di upgrade.

 

 

Friday, 10 July 2020

PONG (ptg4)

                                                                      PONG



Pong adalah permainan video generasi pertama yang dirilis sebagai permainan arkade yang dioperasikan dengan koin yang dikembangkan oleh Atari Inc. pada tanggal 29 November, 1972.Pong didasari dari permainan atau olahraga tenis meja (Ping pong), nama permainan ini berasal dari suara yang dihasilkan ketika memukul bola ping pong.Kata Pong telah didaftarkan sebagai merek dari Atari Interactive.

berikut adalah listing programnya

class pong.java

package pong;

import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.util.Random;

import javax.swing.JFrame;
import javax.swing.Timer;

public class Pong implements ActionListener, KeyListener
{

public static Pong pong;

public int width = 700, height = 700;

public Renderer renderer;

public Paddle player1;

public Paddle player2;

public Ball ball;

public boolean bot = false, selectingDifficulty;

public boolean w, s, up, down;

public int gameStatus = 0, scoreLimit = 7, playerWon; //0 = Menu, 1 = Paused, 2 = Playing, 3 = Over

public int botDifficulty, botMoves, botCooldown = 0;

public Random random;

public JFrame jframe;

public Pong()
{
Timer timer = new Timer(20, this);
random = new Random();

jframe = new JFrame("Pong");

renderer = new Renderer();

jframe.setSize(width + 15, height + 35);
jframe.setVisible(true);
jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jframe.add(renderer);
jframe.addKeyListener(this);

timer.start();
}

public void start()
{
gameStatus = 2;
player1 = new Paddle(this, 1);
player2 = new Paddle(this, 2);
ball = new Ball(this);
}

public void update()
{
if (player1.score >= scoreLimit)
{
playerWon = 1;
gameStatus = 3;
}

if (player2.score >= scoreLimit)
{
gameStatus = 3;
playerWon = 2;
}

if (w)
{
player1.move(true);
}
if (s)
{
player1.move(false);
}

if (!bot)
{
if (up)
{
player2.move(true);
}
if (down)
{
player2.move(false);
}
}
else
{
if (botCooldown > 0)
{
botCooldown--;

if (botCooldown == 0)
{
botMoves = 0;
}
}

if (botMoves < 10)
{
if (player2.y + player2.height / 2 < ball.y)
{
player2.move(false);
botMoves++;
}

if (player2.y + player2.height / 2 > ball.y)
{
player2.move(true);
botMoves++;
}

if (botDifficulty == 0)
{
botCooldown = 20;
}
if (botDifficulty == 1)
{
botCooldown = 15;
}
if (botDifficulty == 2)
{
botCooldown = 10;
}
}
}

ball.update(player1, player2);
}

public void render(Graphics2D g)
{
g.setColor(Color.BLACK);
g.fillRect(0, 0, width, height);
g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);

if (gameStatus == 0)
{
g.setColor(Color.WHITE);
g.setFont(new Font("Arial", 1, 50));

g.drawString("PONG", width / 2 - 75, 50);

if (!selectingDifficulty)
{
g.setFont(new Font("Arial", 1, 30));

g.drawString("Press Space to Play", width / 2 - 150, height / 2 - 25);
g.drawString("Press Shift to Play with Bot", width / 2 - 200, height / 2 + 25);
g.drawString("<< Score Limit: " + scoreLimit + " >>", width / 2 - 150, height / 2 + 75);
}
}

if (selectingDifficulty)
{
String string = botDifficulty == 0 ? "Easy" : (botDifficulty == 1 ? "Medium" : "Hard");

g.setFont(new Font("Arial", 1, 30));

g.drawString("<< Bot Difficulty: " + string + " >>", width / 2 - 180, height / 2 - 25);
g.drawString("Press Space to Play", width / 2 - 150, height / 2 + 25);
}

if (gameStatus == 1)
{
g.setColor(Color.WHITE);
g.setFont(new Font("Arial", 1, 50));
g.drawString("PAUSED", width / 2 - 103, height / 2 - 25);
}

if (gameStatus == 1 || gameStatus == 2)
{
g.setColor(Color.WHITE);

g.setStroke(new BasicStroke(5f));

g.drawLine(width / 2, 0, width / 2, height);

g.setStroke(new BasicStroke(2f));

g.drawOval(width / 2 - 150, height / 2 - 150, 300, 300);

g.setFont(new Font("Arial", 1, 50));

g.drawString(String.valueOf(player1.score), width / 2 - 90, 50);
g.drawString(String.valueOf(player2.score), width / 2 + 65, 50);

player1.render(g);
player2.render(g);
ball.render(g);
}

if (gameStatus == 3)
{
g.setColor(Color.WHITE);
g.setFont(new Font("Arial", 1, 50));

g.drawString("PONG", width / 2 - 75, 50);

if (bot && playerWon == 2)
{
g.drawString("The Bot Wins!", width / 2 - 170, 200);
}
else
{
g.drawString("Player " + playerWon + " Wins!", width / 2 - 165, 200);
}

g.setFont(new Font("Arial", 1, 30));

g.drawString("Press Space to Play Again", width / 2 - 185, height / 2 - 25);
g.drawString("Press ESC for Menu", width / 2 - 140, height / 2 + 25);
}
}

@Override
public void actionPerformed(ActionEvent e)
{
if (gameStatus == 2)
{
update();
}

renderer.repaint();
}

public static void main(String[] args)
{
pong = new Pong();
}

@Override
public void keyPressed(KeyEvent e)
{
int id = e.getKeyCode();

if (id == KeyEvent.VK_W)
{
w = true;
}
else if (id == KeyEvent.VK_S)
{
s = true;
}
else if (id == KeyEvent.VK_UP)
{
up = true;
}
else if (id == KeyEvent.VK_DOWN)
{
down = true;
}
else if (id == KeyEvent.VK_RIGHT)
{
if (selectingDifficulty)
{
if (botDifficulty < 2)
{
botDifficulty++;
}
else
{
botDifficulty = 0;
}
}
else if (gameStatus == 0)
{
scoreLimit++;
}
}
else if (id == KeyEvent.VK_LEFT)
{
if (selectingDifficulty)
{
if (botDifficulty > 0)
{
botDifficulty--;
}
else
{
botDifficulty = 2;
}
}
else if (gameStatus == 0 && scoreLimit > 1)
{
scoreLimit--;
}
}
else if (id == KeyEvent.VK_ESCAPE && (gameStatus == 2 || gameStatus == 3))
{
gameStatus = 0;
}
else if (id == KeyEvent.VK_SHIFT && gameStatus == 0)
{
bot = true;
selectingDifficulty = true;
}
else if (id == KeyEvent.VK_SPACE)
{
if (gameStatus == 0 || gameStatus == 3)
{
if (!selectingDifficulty)
{
bot = false;
}
else
{
selectingDifficulty = false;
}

start();
}
else if (gameStatus == 1)
{
gameStatus = 2;
}
else if (gameStatus == 2)
{
gameStatus = 1;
}
}
}

@Override
public void keyReleased(KeyEvent e)
{
int id = e.getKeyCode();

if (id == KeyEvent.VK_W)
{
w = false;
}
else if (id == KeyEvent.VK_S)
{
s = false;
}
else if (id == KeyEvent.VK_UP)
{
up = false;
}
else if (id == KeyEvent.VK_DOWN)
{
down = false;
}
}

@Override
public void keyTyped(KeyEvent e)
{

}
}

class paddle.java
package pong;

import java.awt.Color;
import java.awt.Graphics;

public class Paddle
{

public int paddleNumber;

public int x, y, width = 50, height = 250;

public int score;

public Paddle(Pong pong, int paddleNumber)
{
this.paddleNumber = paddleNumber;

if (paddleNumber == 1)
{
this.x = 0;
}

if (paddleNumber == 2)
{
this.x = pong.width - width;
}

this.y = pong.height / 2 - this.height / 2;
}

public void render(Graphics g)
{
g.setColor(Color.WHITE);
g.fillRect(x, y, width, height);
}

public void move(boolean up)
{
int speed = 15;

if (up)
{
if (y - speed > 0)
{
y -= speed;
}
else
{
y = 0;
}
}
else
{
if (y + height + speed < Pong.pong.height)
{
y += speed;
}
else
{
y = Pong.pong.height - height;
}
}
}

}

class ball.java

package pong;

import java.awt.Color;
import java.awt.Graphics;
import java.util.Random;

public class Ball
{

public int x, y, width = 25, height = 25;

public int motionX, motionY;

public Random random;

private Pong pong;

public int amountOfHits;

public Ball(Pong pong)
{
this.pong = pong;

this.random = new Random();

spawn();
}

public void update(Paddle paddle1, Paddle paddle2)
{
int speed = 5;

this.x += motionX * speed;
this.y += motionY * speed;

if (this.y + height - motionY > pong.height || this.y + motionY < 0)
{
if (this.motionY < 0)
{
this.y = 0;
this.motionY = random.nextInt(4);

if (motionY == 0)
{
motionY = 1;
}
}
else
{
this.motionY = -random.nextInt(4);
this.y = pong.height - height;

if (motionY == 0)
{
motionY = -1;
}
}
}

if (checkCollision(paddle1) == 1)
{
this.motionX = 1 + (amountOfHits / 5);
this.motionY = -2 + random.nextInt(4);

if (motionY == 0)
{
motionY = 1;
}

amountOfHits++;
}
else if (checkCollision(paddle2) == 1)
{
this.motionX = -1 - (amountOfHits / 5);
this.motionY = -2 + random.nextInt(4);

if (motionY == 0)
{
motionY = 1;
}

amountOfHits++;
}

if (checkCollision(paddle1) == 2)
{
paddle2.score++;
spawn();
}
else if (checkCollision(paddle2) == 2)
{
paddle1.score++;
spawn();
}
}

public void spawn()
{
this.amountOfHits = 0;
this.x = pong.width / 2 - this.width / 2;
this.y = pong.height / 2 - this.height / 2;

this.motionY = -2 + random.nextInt(4);

if (motionY == 0)
{
motionY = 1;
}

if (random.nextBoolean())
{
motionX = 1;
}
else
{
motionX = -1;
}
}

public int checkCollision(Paddle paddle)
{
if (this.x < paddle.x + paddle.width && this.x + width > paddle.x && this.y < paddle.y + paddle.height && this.y + height > paddle.y)
{
return 1; //bounce
}
else if ((paddle.x > x && paddle.paddleNumber == 1) || (paddle.x < x - width && paddle.paddleNumber == 2))
{
return 2; //score
}

return 0; //nothing
}

public void render(Graphics g)
{
g.setColor(Color.WHITE);
g.fillOval(x, y, width, height);
}

}

class renderer.java

package pong;

import java.awt.Graphics;
import java.awt.Graphics2D;

import javax.swing.JPanel;

public class Renderer extends JPanel
{

private static final long serialVersionUID = 1L;

@Override
protected void paintComponent(Graphics g)
{
super.paintComponent(g);

Pong.pong.render((Graphics2D) g);
}

}


berikut adalah contoh gameplaynya






Saturday, 21 March 2020