Selasa, 16 November 2010

rangkuman buku the ultimate guide to graphic design


Teknik Merancang denganLine Art
Apa yang dimaksud dengan Line art?? “Line art adalah setiap gambar yang terdiri dari garis lurus dan melengkung yang berbeda di atas latar (biasanya polos), tanpa gradasi di tempat yang teduh (gelap) atau hue (warna) untuk mewakili dua dimensi atau tiga dimensi obyek. seni Saluran dapat menggunakan garis warna yang berbeda, meskipun line art biasanya monokromati. Dalam design grafis terdapat banyak sekali istilah-istilah yang digunakan dan bagian ini ibaratkan kamus yang akan menjelaskan istilah-istilah dalam design grafis mulai dari A sampai Z. Berikut ini adalah beberapa diantaranya.
1. Action
Merupakan sebuah pekerjaan yang dilakukan secara berulang-ulang dan biasanya dibantu yang namanya kita kenal sebagai play.
2. Adjusment layers
Hanya untuk mengedit gambar sehingga gambar yang dihasilkan jauh lebih baik dari sebelumnya.
3. Adobe bridge
Adobe bridge adalah tool sederhana untuk mencari/menampilkan gambar yang terdapat pada folder kita melalui photoshop. Melalui tool ini kita dapat melihat gambar yang ada dalam bentuk thumbnail.
4.Background
Merupakan sebuah latar dimana latar ini berada dibelakang dari sebua gambar dan fitur ini sangat membantu dalam hal penyesuaian gambar yang dianggap menarik dan memiliki arti.
5. Baseline grid
Untuk membuat sebuah garis pada layout agar terlihat lebih apik dan teratur serta rapi.
6. Colour balance
Mengatur kadar cahaya yang masuk dan keluar pada saat pengamblan atau membuat desain gambar, agar terlihat lebih hidup dan nyata.
7. Distortion
Distorsi adalah teknik untuk mengubah gambar ke dalam bentuk yang tidak biasa. Seperti misalnya membuat foto seseorang menjadi sebuah karikatur.
8. Embbossing
Membuat sebuah tulisan yang timbul atau tidak berbidang datar.
9. Fill and stroke
Fill adalah warna yang ada pada bagian dalam gambar objek. Sedangkan stroke adalah warna untuk garis tepi yang mengelilingi objek.
10. Filters
Memberikan efek pada gambar.
11. Free transform
untuk mengubah ukuran suatu gambar objek.
12. Gradients
Gabungan warna yang bergradasi dari warna satu ke warna lain. gradient dapat digunakan untuk membuat gambar lebih menarik.
13. History
Merupakan halaman dimana berisi data-data yang sudah di perbaharui dan user ingin membalikkan nya dengan cara undo. Maka fitur ini sangat berguna sekali dalam hal membalikkan data dari sebuah gambar yang pernah kita ganti.
14. Jpeg
Jpeg adalah format sebuah gambar yang beresolusi lumayan besar.
15. Layer styles
Untuk memberikan efek tambahan pada sebuah layer.
16. Moving objects
Untuk pemindahan objek menggunakan mouse atau keyboard.
17. Noise reduction
Membuat gambar menjadi lebih halus dan tidak terkesan berantakan.
18. Quick mask
Quick mask berfungsi untuk membuat seleksi pada objek dengan mudah dan hasil yang baik.
19. Reflections
Merupakan sebuah penyelarasan terhadap gamabr dengan tulisan-tulisan serta latar nya agar terlihat menyatu dengan desainnya.
20. Smart objects
Menghilangkan sebuah object yang kemudian menjadi objek baru tetapi tidak menghilangkan unsur-unsur yang ada dalam object tersebut.
21. Typography
Untuk memilih jenis-jenis font yang tepat untuk halaman desainnya.
22. Wrapping text
Wrapping text adalah salah satu cara untuk membuat teks yang dapat berada pada bagian sisi gambar atau dalam hal ini teks akan segaris dengan gambar.
23. Zooming images
Zooming images adalah cara untuk memperbesar gambar agar kita dapat bekerja pada gambar dengan lebih akurat.

Senin, 15 November 2010

[Rangkuman Buku] The Production Manual

Dalam buku ini menjelaskan untuk sebuah design dimana memungkinkan sebuah proseside untuk membuat serta merancang sebuah bentuk fisik yang baik. Dengan adanya buku ini kita bisa melakukan sebuah pemahaman yang baik karena akan menjelaskan bagaimana kita mendalami sebuah desain yang kita buat. Kemudian buku ini juga diberikan kita sebuah penghayatan pada desain untuk mendapatkan hasil yang maksimal, seperti warna manajemen, pilihan kertas, mati pemotongan, timbul dan manipulasi gambar. Ini akan mempengaruhi hasil akhir dari desain yang anda buat nanti.

Adapun hal-hal yang harus diperhatikan dalam membuat sebuah desain yang baik yaitu :
- Dasar-dasar desain
Kita harus mengetahui apa saja yang dibutuhkan untuk pembuatan sebuah desain dan kita juga harus tahu apa saja yang diperlukan untuk membuat sebuah desain yang kita buat dan apakah memiliki sebuah makna atau tidak serta memiliki hasil yang baik dalam sebuah gambar.
- Elemen
Mengeksplorasi dan memisahkan unsur-unsur yang terkandung dalam membuat desain, seperti jenis, gambar dan berbagai item yang disusun oleh seorang desainer dalam sebuah layout serta bentuk dari gambar itu sendiri dan bentuk backgorundnya harus sesuai dengan desain.
- Warna
Sebab warna merupakan sebuah faktor yang cukup dominan dalam perform dan karakterisasi sebuah desain visual, baik dalam dunia grafis maupan dunia seni. Karena sebuah warna biasanya melambangkan makna dari desain itu sendiri.
- Produksi
Merupakan hasil dari desain yang sudah dirancang terlebih dahlu yang kemudian dibuat sedemikian rupa yang hasilnya akan dilihat oleh beberapa orang yang terkait dalam desain tersebut.
- Finishing
Merupakan akhir dari pembuatan desain dimana dalam bagian ini seorang desainer harus benar-benar memperhatikan tata letak,warna dan lain-lain agar hasilnya memuaskan dan baik untuk sebuah desain yang dibuat.


DASAR-DASAR RANCANGAN/DESAIN
Desain, pada dasarnya, adalah disiplin serbaguna dan kreatif, tetapi desainer akan sering menemukan diri mereka bekerja dalam batas-batas yang ditetapkan, seperti standar ukuran kertas, sistem pengukuran dan grid.
A. Pengukuran
Desain grafis melibatkan penggunaan pengukuran untuk menentukan segala sesuatu dari jenis dan ukuran divisi halaman untuk ukuran gambar serta memahami bentuk dan layout betapa berbedanya pengukuran yang digunakan untuk membantu dalam pembuatan sebuah desain. Didalam pengukuruan memiliki beberapa faktor yaitu :
- Absolut dan Relatif
Biasanya dua jenis pengukuran yang digunakan dalam proses tipografi.
- Pengukuran Mutlak
Pengukuran Mutlak adalah pengukuran nilai tetap.
- Pengukuran Relatif
Dalam tipografi ini banyak bagain-bagian dari pengukuran itu sendiri, seperti karakter jarak, terkait dengan jenis ukuran dan bentuk gambar.
- Alfabet Huruf Kecil
Hal ini berdampak pada typesetting sebagai jenis huruf yang lebih luas dapat diatur dalam ukuran yang lebih luas atau lebar kolom dan masih nyaman untuk membacanya.
- Em
Em adalah unit relatif pengukuran, yang digunakan dalam huruf untuk menentukan fungsi jarak dasar.
- En
En adalah unit pengukuran yang relatif sama dengan setengah dari satu em.
B. Elemen
- Jenis Gambar
Produksi gambar untuk pekerjaan desain sekarang luas dicapai melalui penggunaan teknologi komputer.
- Raster dan Vektor
Ada dua jenis gambar utama: raster dan vektor. Kedua format memiliki kekuatan khusus dan kelemahan yang membuat mereka cocok untuk tujuan yang berbeda.
- Raster
Sebuah citra raster adalah setiap yang terdiri dari piksel dalam grid, dimana setiap piksel berisi informasi warna reproduksi gambar, seperti nada kontinu foto pada contoh di bawah.
- Vektor
Gambar vektor berisi objek scalable banyak yang didefinisikan oleh rumus matematika atau path daripada piksel.

- Gambar Jenis
Sebuah gambar digital dapat disimpan dalam beberapa format file yang berbeda, seperti bitmap, line art, setengah-nada atau abu-abu, yang semuanya memiliki keunggulan tertentu untuk keperluan tertentu.
- Bitmaps
Sebuah bitmap atau raster adalah setiap gambar yang terdiri dari piksel dalam kotak.
- Format file
File format seperti PSD, TIFF, PDF, EPS, BMP dan JPEG merupakan alur kerja grafik desain.
- Resize gambar
Gambar sering harus diubah ukurannya sehingga gambar yang dilihat tidak terkesan berbayang.
- Ukuran Gambar
Ukuran gambar dapat diubah dengan mengubah nilai untuk piksel dimensi atau ukuran dokumen.
- Manipulasi Gambar
Merupakan perubahan gambar dan kemudian di filter yang menawarkan pilihan kuat untuk membuat gambar lebih unik dan dramatis, namun mereka harus digunakan dengan hati-hati dan menahan diri tertentu untuk menghasilkan hasil yang dikenali.

C. Warna
Warna juga dapat digunakan oleh desainer untuk membantu mengatur elemen pada halaman dan menuntun mata dari satu item lain, atau menanamkan hirarki.
- Manajemen Warna
Warna manajemen adalah proses yang mengatur warna agar terlihat indah dan nyaman untuk dilihat.
- Kreatif Warna
Merupakan warna yang mengangkat sebuah unsur-unsur yang terkandung didalamnya agar terlihat memiliki arti yang sangat luas dan bermakan sangat menarik.
- Lapisan Warna
Merupakan background dari desain yang disesuai kan berdasarkan makna dari gambar itu sendiri.
- Efek Pada Gambar
Merupakan sebuah kombinasi yang disesuaikan oleh bentuk serta gambar agar desain ini memiliki banyak arti dan terlihat menarik dan unik.
- Resolusi
Merupakan ukuran dari gambar atau betuk dari gambar itu sendiri yang memiliki resolusi pixel.
- Pemindaian
Sebuah gambar dapat dipindai dengan cara yang berbeda untuk menghasilkan hasil kualitas yang bervariasi.

D. Produksi
Dalam produksi memiliki beberapa bagian yang terkandung pada produksi yaitu :
- Proses Cetak
Percetakan adalah sebuah proses yang berlaku untuk melihat hasil secara real dalam desain.
- Metode pencetakan
Ada empat proses utama yang digunakan oleh industri percetakan komersial - offset lithography, gravure, letterpress dan sutera layar - yang semuanya berbeda dalam biaya, kualitas produksi dan produksi tingkat atau volume.
E. Penyelesaian (Finishing)
Finishing mencakup berbagai proses untuk memberikan sentuhan akhir pada gambar dan desainnya.

Tic Tac Toe pada prolog

?-
set(pos([[f,f,f], [f,f,f], [f,f,f]])),
set(lose_flag(false)),
brush(system_color(window)),
window( _, _, win_func(_), "Tick-Tack-Toe", 200, 100, 248, 268).


put_mark(Mark) :-
pos(Current_Pos),
member(Current_Pos, L, Y),
member(L, Mark, X),
X1 is 40 + 60*X, Y1 is 40 + 60*Y, X2 is X1 + 40, Y2 is Y1 +40,
write_mark(Mark, X1, Y1, X2, Y2),
fail.
put_mark(_).

write_mark(x, X1, Y1, X2, Y2) :-
ellipse(X1,Y1,X2,Y2),
line(((X2-X1)//2)+X1, ((Y2-Y1)//2)+Y1, X2, Y2).

write_mark(o, X1, Y1, X2, Y2) :-
X3 is X2-X1,
X4 is X3*1//5,
Y3 is Y2-Y1,
X5 is X3*4//5,
line(X1,Y1,X4+X1,Y2,X3//2+X1,Y3//2+Y1,X5+X1,Y2,X2,Y1).


win_func(paint) :-
pen(2, rgb(0, 0, 0)), % black
line(30, 30, 30, 210),
line(30, 210, 210, 210),
line(210, 210, 210, 30),
line(210, 30, 30, 30),
line(90, 30, 90, 210),
line(150, 30, 150, 210),
line(30, 90, 210, 90),
line(30, 150, 210, 150),
pen(4, rgb(255, 0, 0)), % red
put_mark(x),
pen(4, rgb(0, 0, 255)), % blue
put_mark(o),
fail.

win_func(mouse_click(X, Y)) :-
lose_flag(false),
X>30, Y>30,
X<210, Y<210,
X1 is (X - 30)//60,
Y1 is (Y - 30)//60,
pos(Current_Pos),
member(Current_Pos, L, Y1),
member(L, f, X1),
!,
replace(L2, L, x, X1),
replace(Current_Pos2, Current_Pos, L2, Y1),
set(pos(Current_Pos2)),
not(win_func(paint)),
think(Current_Pos2).

win_func(mouse_click(X, Y)) :-
beep.

think(Pos) :-
try_to_win(Pos), !.
think(Pos) :-
try_nolose(Pos), !.

try_nolose(Pos) :-
move(o, Pos, Sit2),
nolose(x, Sit2),
set(pos(Sit2)),
not(win_func(paint)).

try_to_win(Pos) :-
move(o, Pos, Sit2),
is_it_win(Sit2).

is_it_win(Sit2) :-
victory(o, Sit2),
set(pos(Sit2)),
not(win_func(paint)),
set(lose_flag(true)),
message("Sorry","You cannot win against the AI.",s).
is_it_win(Sit2) :-
win(x, Sit2),
set(pos(Sit2)),
not(win_func(paint)).

member([Element, _, _], Element, 0).
member([_, Element, _], Element, 1).
member([_, _, Element], Element, 2).

replace([Element, A, B], [_, A, B], Element, 0).
replace([A, Element, B], [A, _, B], Element, 1).
replace([A, B, Element], [A, B, _], Element, 2).


victory( Who, [[Who, Who, Who], [_, _, _], [_, _, _]]).
victory( Who, [[_, _, _], [Who, Who, Who], [_, _, _]]).
victory( Who, [[_, _, _], [_, _, _], [Who, Who, Who]]).
victory( Who, [[Who, _, _], [Who, _, _], [Who, _, _]]).
victory( Who, [[_, Who, _], [_, Who, _], [_, Who, _]]).
victory( Who, [[_, _, Who], [_, _, Who], [_, _, Who]]).
victory( Who, [[Who, _, _], [_, Who, _], [_, _, Who]]).
victory( Who, [[_, _, Who], [_, Who, _], [Who, _, _]]).

win( o, Sit) :- move(o, Sit, Sit2), win(x, Sit2).
win( x, Sit) :- victory(o, Sit).
win( x, Sit) :- not(nowin( x, Sit)).

nowin(x, Sit) :- move(x, Sit, Sit2), nowin(o, Sit2).
nowin( o, Sit) :- victory(x, Sit).
nowin(o, Sit) :- not(move(Sit)). % the last move belongs to X
nowin(o, Sit) :- not(win(o, Sit)).

lose( x, Sit) :- move(x, Sit, Sit2), lose(o, Sit2).
lose( o, Sit) :- victory(x, Sit).
lose( o, Sit) :- not(nolose( o, Sit)).

nolose(o, Sit) :- not(move(Sit)). % the last move belongs to X
nolose(o, Sit) :- move(o, Sit, Sit2), nolose(x, Sit2).
nolose( x, Sit) :- victory(o, Sit).
nolose(x, Sit) :- not(lose(x, Sit)).

move(P, Sit, Sit2) :-
member(Sit, L, Y),
member(L, f, X),
replace(L2, L, P, X),
replace(Sit2, Sit, L2, Y).

move(Sit) :-
member(Sit, L, _),
member(L, f, _).

menghitung persegi dengan GUI

import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.swing.JButton;
import java.awt.Container;
import java.awt.FlowLayout;
import javax.swing.JTextField;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
class persegi {
public static void main(String args[]) {
//deklarasikan komponen2
JFrame frame;
Container contentPane;
JTextField tfpanjang, tflebar, tfluas;
JButton button;
FlowLayout layout;
frame = new JFrame();
//inisialisasi/ setting tiap2 komponen
frame.setTitle("Program Perhitungan Luas Persegi");
contentPane = frame.getContentPane();
tfpanjang = new JTextField("Masukkan panjang", 10);
tflebar = new JTextField("Masukkan lebar", 10);
tfluas = new JTextField("", 10);
button = new JButton("Hitung Luas");
//sambungkan button dgn perintah yg akan dijalankan
//kirimkan komponen2 ke action listener
button.addActionListener(new hitung(tfpanjang,tflebar,tfluas));
//rakitkan komponen2
contentPane.add(tfpanjang);
contentPane.add(tflebar);
contentPane.add(button);
contentPane.add(tfluas);
layout = new FlowLayout();
contentPane.setLayout(layout);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setVisible(true);
}
}


class hitung implements ActionListener {
JTextField tp,tl,tf;
hitung(JTextField tfp,JTextField tfl,JTextField tfL) {
//tampung data dari class container ke local
//by refference
tp = tfp;
tl = tfl;
tf = tfL;
}
public void actionPerformed(ActionEvent e) {
int temp,p,l;
//tampung isi textfield ke string,
//kemudian ekstrak data menjadi angka.
String sp = tp.getText();
p = Integer.parseInt(sp);
String sl = tl.getText();
l = Integer.parseInt(sl);
temp = p*l; //hitung luas persegi
//kirimkan hasil temp ke tf
//tf & tfL adalah identik, yaitu text field Luas
//di class pemanggil actionlistener
tf.setText(String.valueOf(temp));
}
}

Message Dialog pada java menggunakan GUI

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

public class MessageDialog extends JFrame {

    private JButton tombol, btn2, btn3, btn4, btn5;

    public MessageDialog() {

        super ("Event Handling");

        Container container = getContentPane();

        container.setLayout(new FlowLayout());

        tombol = new JButton ("Message Dialog");

        tombol.addActionListener(

            new ActionListener() {

                public void actionPerformed (ActionEvent e) {

                    JOptionPane.showMessageDialog (null,"Contoh Message Dialog");

                }

            }

        );

        container.add(tombol);

        btn2 = new JButton ("Warning Message");

        btn2.addActionListener(

            new ActionListener() {

                public void actionPerformed (ActionEvent e) {

                    JOptionPane.showConfirmDialog(null, "Contoh Warning Message","Peringatan",

                        JOptionPane.CLOSED_OPTION, JOptionPane.WARNING_MESSAGE);

                }

            }

        );

        container.add(btn2);

        btn3 = new JButton ("Question Message");

        btn3.addActionListener(

            new ActionListener() {

                public void actionPerformed (ActionEvent e) {

                    JOptionPane.showConfirmDialog(null, "Contoh Question Message","Pertanyaan",

                        JOptionPane.OK_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE);

                }

            }

        );

        container.add(btn3);

        btn4 = new JButton ("Information Message");

        btn4.addActionListener(

            new ActionListener() {

                public void actionPerformed (ActionEvent e) {

                    JOptionPane.showConfirmDialog(null, "Contoh Information Message","Informasi",

                        JOptionPane.NO_OPTION, JOptionPane.INFORMATION_MESSAGE);

                }

            }

        );

        container.add(btn4);

        btn5 = new JButton ("Input Dialog");

        btn5.addActionListener(

            new ActionListener() {

                public void actionPerformed (ActionEvent e) {

                    String a = JOptionPane.showInputDialog("Input Nama : ");

                    JOptionPane.showMessageDialog(null, a);

                }

            }

        );

        container.add(btn5);

        setSize (200,300);

        setLocationRelativeTo(null);

        setVisible (true);

    }

    public static void main (String arg[]) {

        MessageDialog test = new MessageDialog();

        test.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    }

}