Senin, 18 November 2013

Game Kapal Perang

Game Kapal Perang


Teknologi kian berkembang masa kini hal ini dikarenakan oleh kebutuhan manusa yang semakin bertambah dan bervariasi. Salah satu kebutuhan penting yang harus dimiliki oleh setiap manusia adalah hiburan. Hiburan tersebut dapat dipenuhi oleh hasil dari teknologi, yang dapat berupa game dari skala kecil maupun besar sangat bervariasi, yang dapat dimainkan oleh siapa saja tanpa memandang umur , dari anak-anak hingga orang dewasa. Pada projek ini, penulis akan membahas game kapal perang”. Kemudian pada kali ini saya menggunakan program aplikasi untuk game kapal perang saya menggunakan bahasa pemrograman strawberry prolog yang dimana game ini merupakan game kecerdasan buatan yang dimana semua orang bisa masuk dalam game ini khususnya untuk kalangan anak – anak dengan mudahnya.

Source Code game Kapal Perang


% Project PKB kelompok 1
% Gunadarma 3IA22

?-G_HighScore := 0, G_LastShipWay := 0,
  G_player_color:=brush(rgb(0,0,128)), G_enemy_color:=brush(rgb(0,128,255)), G_Red:=brush(rgb(255,100,100)),
  window( _, _, win_func(_), "Star Wars", 100, 100, 490, 410).

first_sleeping_paint.

width(480) :- !.
height(380) :- !.

%dead or alive?
dead.

%ship data:
ship_half_width(20) :- !.
ship_height(25) :- !.

ship_minship(70) :- !.

%enemies:
enemy_ships([]).
enemy_bombs([]).

%speed:
speed(10) :- !.
%G_EnemySpeed
player_bomb_speed(15) :- !.

%player:
player_bombs([]).

%way of the last ship:
%G_LastShipWay

%difficulty:
%G_Difficulty
%difficulty(1000).

die(_) :- !, assert(first_sleepint_paint), assert(dead).

start_game(P, S, PTS) :- !,
  retract(dead),
  retract(enemy_ships(_)), assert(enemy_ships([])),
  retract(enemy_bombs(_)), assert(enemy_bombs([])),
  width(W), height(H), X is W >> 1, Y is H - 1,
  G_D := 0,
  G_X := X,
  G_Y := Y,
  %retract(player_ship(_,_,_)), assert(player_ship(null, X, Y)),
  retract(player_bombs(_)), assert(player_bombs([])),
  (paused -> retract(paused)),
  G_Difficulty := P,
  G_EnemySpeed := S,
  G_DirectionTimer := 0,
  G_PTS := PTS,
  G_Score := 0,
  update_window(_).

is_in_ship(X, Y, PX, PY) :- !,
  ship_left(X) =< PX,
  ship_right(X) >= PX,
  ship_up(Y) =< PY,
  ship_down(Y) >= PY.

crash(X1, Y1, X2, Y2) :- !,
  TX1 is ship_left(X1),
  TX2 is ship_right(X1),
  TY1 is ship_up(Y1),
  TY2 is ship_down(Y1),
  do_crash_check(TX1, TX2, TY1, TY2, X2, Y2).

do_crash_check(TX1, TX2, TY1, TY2, X2, Y2) :- is_in_ship(X2, Y2, TX1, TY1), !.
do_crash_check(TX1, TX2, TY1, TY2, X2, Y2) :- is_in_ship(X2, Y2, TX1, TY2), !.
do_crash_check(TX1, TX2, TY1, TY2, X2, Y2) :- is_in_ship(X2, Y2, TX2, TY1), !.
do_crash_check(TX1, TX2, TY1, TY2, X2, Y2) :- is_in_ship(X2, Y2, TX2, TY2), !.

%border coordiates inside a ship:
R is ship_up(int Y) :- !, ship_height(SH), R0 is Y - SH, R is R0 + 1.
R is ship_down(int Y) :- !, R is Y.
R is ship_left(int X) :- !, ship_half_width(SHW), R is X - SHW.
R is ship_right(int X) :- !, ship_half_width(SHW), R is X + SHW.

add_enemy(_) :- X is G_LastShipWay, ship_minship(Y), X > Y,
  R0 is random(1000), R1 is G_Difficulty, R2 is R1 >> 1, R0 < R2, !,
  width(W), ship_half_width(HW), W1 is W - HW - HW, XNEW is random(W1) + HW,
  enemy_ships(L), random_left_right(D), ship_height(SHH), L1 is [ship(D, XNEW, SHH)|L],
  retract(enemy_ships(_)), assert(enemy_ships(L1)),
  G_LastShipWay := 0.

add_enemy(_) :- !.

random_left_right(X) :- Y is random(1000), Y < 500, !, X is left.
random_left_right(right) :- !.

fire_enemy(X, Y) :- R0 is random(1000), R1 is G_Difficulty, R2 is R1 >> 2, R0 < R2, !,
  enemy_bombs(L), random_speed(S), L1 is [bomb(S, X, Y)|L],
  retract(enemy_bombs(_)), assert(enemy_bombs(L1)).

fire_enemy(X, Y) :- !.

random_speed(S) :- !, S0 is G_EnemySpeed, S1 is S0 / 4, S2 is S0 * 1.5, S3 is S1 * 1000, S4 is S2 * 1000,
  S5 is S4 - S3, INTS5 is integer(S5), R0 is random(INTS5) + S3, S is R0 / 1000.

fire_player(_) :- firing, !, retract(firing), player_bombs(L), X is G_X, Y is G_Y, ship_height(SH), Y1 is Y - SH - 7,
  (autofire -> AutoFire := 1 else AutoFire := 0), L1 is [bomb(AutoFire, X, Y1)|L],
  retract(player_bombs(_)), assert(player_bombs(L1)).
fire_player(_) :- !.

update_positions(_) :- !, update_enemies(_), update_bombs(_), update_player_bombs(_), update_player(_).

% {{ UPDATE_ENEMIES:
update_enemies(_) :- !, enemy_ships(L), update_enemy(L, R), retract(enemy_ships(_)), assert(enemy_ships(R)).
update_enemy([], []) :- !.
update_enemy([ship(D, X, Y)|T], R) :- height(H), S is G_EnemySpeed, Y1 is ship_down(Y + S), Y1 > H, !, update_enemy(T, R).
update_enemy([ship(D, X, Y)|T], [ship(D, RX, RY)|R]) :- S is G_EnemySpeed, preserve_direction(D, S, X, RX), !, RY is Y + S, update_enemy(T, R).
update_enemy([ship(D, X, Y)|T], [ship(RD, X, RY)|R]) :- !, S is G_EnemySpeed, RY is Y + S, opposite(D, RD), update_enemy(T, R).
preserve_direction(left, S, X, RX) :- !, RX is X - S, ship_left(RX) >= 0.
preserve_direction(right, S, X, RX) :- !, RX is X + S, width(W), ship_right(RX) < W.
opposite(left, right) :- !.
opposite(right, left) :- !.
% }}

%update enemy bombs:
update_bombs(_) :- !, enemy_bombs(L), update_bomb(L, R), retract(enemy_bombs(_)), assert(enemy_bombs(R)).
update_bomb([], []) :- !.
update_bomb([bomb(S, X, Y)|T], R) :- height(H), Y1 is Y + S, Y1 > H, !, update_bomb(T, R).
update_bomb([bomb(S, X, Y)|T], [bomb(S, X, RY)|R]) :- !, RY is Y + S, update_bomb(T, R).

%update player bombs:
update_player_bombs(_) :- !, player_bombs(L), update_player_bomb(L, R), retract(player_bombs(_)), assert(player_bombs(R)).
update_player_bomb([], []) :- !.
update_player_bomb([bomb(_, X, Y)|T], R) :- player_bomb_speed(S), Y1 is Y - S, Y1 < 0, !, update_player_bomb(T, R).
update_player_bomb([bomb(AutoFire, X, Y)|T], [bomb(AutoFire, X, RY)|R]) :- !, player_bomb_speed(S), RY is Y - S, update_player_bomb(T, R).

%update player:
update_player(_) :- G_DirectionTimer > 0, !, D is G_D, X is G_X, Y is G_Y, speed(S), update_player_impl(S, D, X, Y, RX, RY), G_X := RX, G_Y := RY.
update_player(_) :- !.
update_player_impl(S, 1, X, Y, X, RY) :- Y0 is Y - S, ship_up(Y0) < 0, !, ship_height(RY).
update_player_impl(S, 1, X, Y, X, RY) :- !, RY is Y - S.
update_player_impl(S, 4, X, Y, X, RY) :- Y1 is Y + S, height(H), Y1 >= H, !, RY is H - 1.
update_player_impl(S, 4, X, Y, X, RY) :- !, RY is Y + S.
update_player_impl(S, 2, X, Y, RX, Y) :- X0 is X - S, ship_left(X0) < 0, !, ship_half_width(RX).
update_player_impl(S, 2, X, Y, RX, Y) :- !, RX is X - S.
update_player_impl(S, 3, X, Y, RX, Y) :- X0 is X + S, width(W), ship_right(X0) > W, !, ship_half_width(HW), RX is W - HW.
update_player_impl(S, 3, X, Y, RX, Y) :- !, RX is X + S.
update_player_impl(S, D, X, Y, X, Y) :- !.



win_func(init) :- !,
  pen(0, rgb(0,0,0)),
  X is 1/30,
  G_Timer := set_timer(_, X, do_timer),
  fail.

win_func(paint):- !,
  width(W), height(H),
  brush(rgb(10, 10, 10)),
  paint_score(_),
  not(dead),
  brush(G_player_color),
  paint_player(_),
  draw_player_bombs(_),
  brush(G_enemy_color),
  draw_enemies(_),
  draw_enemy_bombs(_),
  fail.

win_func(close) :- !,
      kill_timer(_, G_Timer),
      fail.

win_func(key_down(Char, Repetition)) :- dead, !, key_start_game(Char), fail.
win_func(key_down(Char, Repetition)) :- !, key_pressed(Char), fail.

paint_player(_) :- !,
  X is G_X, Y is G_Y,
  X1 is ship_left(X),
  X2 is ship_right(X),
  YY is ship_up(Y),
  fill_polygon(X1,Y, X2,Y, X,YY).


paint_score(_) :- dead, !,
  text_out(20, 20, "1 - LEVEL ANAK TK KECIL"),
  text_out(20, 50, "2 - LEVEL ANAK TK BESAR"),
  text_out(20, 80, "3 - LEVEL ANAK SD"),
  text_out(20, 110, "4 - LEVEL ANAK SMP"),
  text_out(20, 140, "5 - DEWA BOS!!!"),
  text_out(20, 170, "F1 - Help"),
  text_out(20, 200, "HighScore"),
  text_out(99, 200, ":"),
  text_out(114, 200, print(G_HighScore)).

paint_score(_) :- !,
  text_out(20,20,"HighScore"),
  text_out(99,20,":"),
  text_out(114,20,print(G_HighScore)),
  text_out(20,50,"Score"),
  text_out(99,50,":"),
  text_out(114,50,print(G_Score)).

draw_enemies(_) :- !, enemy_ships(L), d_e(L).
d_e([]) :- !.
d_e([ship(_, X, Y)|T]) :- !,
  ship_half_width(HW), ship_height(SH),
  X1 is ship_left(X),
  X2 is ship_right(X),
  YY is ship_up(Y),
  fill_polygon(X1,YY, X2,YY, X, Y), d_e(T).

draw_enemy_bombs(_) :- !, enemy_bombs(L), d_eb(L).
d_eb([]) :- !.
d_eb([bomb(_, X, Y)|T]) :- !,
  Y1 is Y - 7,
  XX is round(X),
  YY is round(Y),
  YY1 is round(Y1),
  fill_polygon(XX - 1,YY, XX + 1,YY, XX + 1, YY1, XX - 1, YY1), d_eb(T).

draw_player_bombs(_) :- !, player_bombs(L), d_pb(L).
d_pb([]) :- !.
d_pb([bomb(AutoFire, X, Y)|T]):- !,
  Y1 is Y + 7,
  XX is round(X),
  YY is round(Y),
  YY1 is round(Y1),
  (Condition is f -> 
    (AutoFire is 1 -> brush(G_Red) else brush(G_player_color))
  ),
  fill_polygon(XX - 1,YY, XX + 1,YY, XX + 1, YY1, XX - 1, YY1), d_pb(T).


key_pressed(87) :- !, set_moving(1). % W
key_pressed(38) :- !, set_moving(1). % up
key_pressed(65) :- !, set_moving(2). % A
key_pressed(37) :- !, set_moving(2). % <-
key_pressed(68) :- !, set_moving(3). % D
key_pressed(39) :- !, set_moving(3). % ->
key_pressed(83) :- !, set_moving(4). % S
key_pressed(40) :- !, set_moving(4). % down
key_pressed(80) :- !, set_pause(_). % P
key_pressed(81) :- !, assert_autofire(_). % Q
key_pressed(75) :- !, not(autofire), beep, assert(firing). % K
key_pressed(32) :- !, not(autofire), beep,assert(firing). % space
key_pressed(190) :- !, die(_), update_window(_). % dot
key_pressed(X) :- !, G_DirectionTimer := 0, G_D := 0.

assert_autofire(_) :- autofire, !, retract(autofire).
assert_autofire(_) :- !, assert(autofire).

set_pause(_) :- paused, !, retract(paused).
set_pause(_) :- !, assert(paused).

key_start_game(49) :- !, start_game(100, 5,  0). % 1
key_start_game(50) :- !, start_game(150, 7,  1). % 2
key_start_game(51) :- !, start_game(250, 10, 1). % 3
key_start_game(52) :- !, start_game(350, 11, 2). % 4
key_start_game(53) :- !, start_game(500, 17, 4). % 5
key_start_game(83) :- !, start_game(1000, 2, 10). % S
key_start_game(112) :- !, message("Help","Spasi buat nembak\nArah buat gerak\nP - pause\nQ - Senjata rahasia\npoint - quick dead",i). % S
key_start_game(X) :- !.

set_moving(D) :- !, G_DirectionTimer := 1, G_D := D.

check_collisions(_) :- !, enemy_ships(EShips), enemy_bombs(EBombs), check_es(EShips, NewShips), check_eb(EBombs), retract(enemy_ships(_)), assert(enemy_ships(NewShips)).
check_es([],[]) :- !.
check_es([ship(D, X, Y)|T], []) :- X1 is G_X, Y1 is G_Y, crash(X, Y, X1, Y1), !, die(_).
check_es([ship(D, X, Y)|T], [ship(D, X, Y)|R]) :- survive_enemy(X, Y), !, check_es(T, R).
check_es([ship(D, X, Y)|T], R) :- !, (G_AutoFired is 0 -> G_Score := G_Score + G_PTS else G_Score := G_Score - G_PTS),
  (G_HighScore < G_Score -> G_HighScore := G_Score), G_Difficulty := G_Difficulty + 2, check_es(T, R).

survive_enemy(X, Y) :- !, player_bombs(Bombs), s_e(X, Y, Bombs).

s_e(_, _, []) :- !.
s_e(X, Y, [bomb(AutoFire, BX, BY)|T]) :- is_in_ship(X, Y, BX, BY), !, G_AutoFired := AutoFire, fail.
s_e(X, Y, [bomb(_, _, BY)|T]) :- !, s_e(X, Y, T).

check_eb([]) :- !.
check_eb([bomb(_, BX, BY)|T]) :- X1 is G_X, Y1 is G_Y, is_in_ship(X1, Y1, BX, BY), !, die(_).
check_eb([bomb(_, BX, BY)|T]) :- !, check_eb(T).

fire_enemies(_) :- !, enemy_ships(L), f_e(L).
f_e([]) :- !.
f_e([ship(_, X, Y)|T]) :- !, fire_enemy(X, Y), f_e(T).

do_timer(end) :- not(dead), !,
  (paused -> text_out(200,200,"Paused"), fail),

  (autofire -> assert(firing)),
  fire_player(_),
  fire_enemies(_),
  update_positions(_),
  check_collisions(_),
  S is G_EnemySpeed,
  G_LastShipWay := G_LastShipWay + S,
  add_enemy(_),
  update_window(_),
  fail.

do_timer(end) :- !,
  paint_sleeping(_), fail.

paint_sleeping(_) :- first_sleeping_paint, !, retract(first_sleepint_paint), update_window(_).
paint_sleeping(_) :- !.

Jumat, 08 November 2013

Artikel Perkembangan Desain Pemodelan Grafik

Pendahuluan

Apa itu Desain Grafis

Karya Seni identik dengan suatu yang unik. Oleh karenanya seorang seniman dalam melahirkan karyanya selalu mencari bentuk, bentuk baru. Untuk itu diperlukan sesuatu yang unik. Ini berarti sesuatu yang belum pernah atau mungkin jarang dipakai oleh seniman lain pada karya-karya sebelumnya.
Definisi Desain Grafis: adalah salah satu bentuk seni lukis (gambar) terapan yang memberikan kebebasan kepada sang desainer (perancang) untuk memilih, menciptakan, atau mengatur elemen rupa seperti ilustrasi, foto, tulisan, dan garis di atas suatu permukaan dengan tujuan untuk diproduksi dan dikomunikasikan sebagai sebuah pesan. Gambar maupun tanda yang digunakan bisa berupa tipografi atau media lainnya seperti gambar atau fotografi.
Desain Grafis juga merupakan ilmu yang mempelajari tentang media untuk menyampaikan informasi, ide, konsep, ajakan dan sebagainya kepada khalayak dengan menggunakan bahasa visual. Baik itu berupa tulisan, foto, ilustrasi dan lain sebagainya. Desain grafis adalah solusi komunikasi yang menjembatani antara pemberi informasi dengan publik, baik secara perseorangan, kelompok, lembaga maupun masyarakat secara luas yang diwujudkan dalam bentuk komunikasi visual.
Sebagaimana layaknya informasi yang disampaikan menggunakan bahasa lisan (suara) yang dapat disampaikan secara tegas, ceria, keras, lembut, penuh gurauan, formal, dan sebagainya dengan menggunakan gaya bahasa dan volume suara yang sesuai, Desain grafis juga dapat melakukan hal serupa. Kita dapat merasakan sendiri setelah membaca sebuah berita (tulisan), melihat foto atau ilustrasi, melihat permainan warna dan bentuk dari sebuah karya design yang berbentuk publikasi cetak, nuansa yang ditimbulkannya. Apakah informasi itu tegas, formal, bergurau, lembut, anggun, elegan dan sebagainya.
Kenapa kita dapat merasakan hal itu? Kenapa obyek publikasi itu bisa menimbulkan kesan dan pesan sesuai dengan yang ingin disampaikan hingga dimengerti oleh kita sebagai pembaca? Jawabannya adalah karena adanya unsur-unsur design dan prinsip-prinsip design yang ada dalam sebuah karya design tersebut, baik disadari maupun tidak disadari oleh pembuatnya.

Ada beberapa tokoh menyatakan pendapatnya tentang desain grafis :
Menurut Suyanto desain grafis didefinisikan sebagai ” aplikasi dari keterampilan seni dan komunikasi untuk kebutuhan bisnis dan industri”. Aplikasi-aplikasi ini dapat meliputi periklanan dan penjualan produk, menciptakan identitas visual untuk institusi, produk dan perusahaan, dan lingkungan grafis, desain informasi, dan secara visual menyempurnakan pesan dalam publikasi.

Sedangkan Jessica Helfand dalam situs http://www.aiga.com/ mendefinisikan desain grafis sebagai kombinasi kompleks kata-kata dan gambar, angka-angka dan grafik, foto-foto dan ilustrasi yang membutuhkan pemikiran khusus dari seorang individu yang bisa menggabungkan elemen-eleman ini, sehingga mereka dapat menghasilkan sesuatu yang khusus, sangat berguna, mengejutkan atau subversif atau sesuatu yang mudah diingat.
Menurut Danton Sihombing desain grafis mempekerjakan berbagai elemen seperti marka, simbol, uraian verbal yang divisualisasikan lewat tipografi dan gambar baik dengan teknik fotografi ataupun ilustrasi. Elemen-elemen tersebut diterapkan dalam dua fungsi, sebagai perangkat visual dan perangkat komunikasi.

Menurut Michael Kroeger visual communication (komunikasi visual) adalah latihan teori dan konsep-konsep melalui terma-terma visual dengan menggunakan warna, bentuk, garis dan penjajaran (juxtaposition).
Warren dalam Suyanto memaknai desain grafis sebagai suatu terjemahan dari ide dan tempat ke dalam beberapa jenis urutan yang struktural dan visual.
Sedangkan Blanchard mendefinisikan desain grafis sebagai suatu seni komunikatif yang berhubungan dengan industri, seni dan proses dalam menghasilkan gambaran visual pada segala permukaan

Permasalahan 

1..Karakteristik Bentuk Dari Desain Grafis
2.Pemilihan Warna
3.Pengaturan Komposisi




Pemecahan Masalah



Karakteristik Bentuk
Bagi gue pribadi, yang namanya bentuk adalah unsur paling penting dalam segala bidang yang berhubungan sama seni rupa. Mau gambar manual atau gambar digital, ngga terlepas dari yang namanya bentuk. Dunia ini aja tercipta dari gabungan bentuk-bentuk yang lebih sederhana kalo kita kupas secara mendetail. Dengan bentuk, kita bisa mencerna informasi secara visual dari sebuah objek. Dari mana kita tau ada orang idungnya mancung kalo bukan karena kita liat bentuk idungnya yang agak lancip dan memanjang ke depan. Dari mana kita tau orang rambutnya bergelombang kalo bukan karena bentuk garis rambutnya yang berbentuk seperti gelombang.

Bentuk tercipta dari perpaduan garis yang saling bertemu di suatu titik. Nah, makanya bentuk baku yang udah kita tau ada banyak macemnya, mulai dari yang sederhana seperti bangun datar, atau juga yang agak rumit seperti bangun ruang. Di dalem matematika, kita udah belajar macem-macem bentuk dan karakteristiknya. Dan kita juga tau, suatu bentuk yang terlihat rumit sebenarnya merupakan penggabungan dari beberapa bentuk yang sederhana.

Bentuk bangun datar persegi, dan beberapa bentuk yang bisa diciptakan
dari persegi tersebut

Nah, kayak contoh di atas nih. Gue bikin yang sederhana aja yak. Contohnya persegi, di mana semua sisinya punya panjang yang sama. Kalo kita pake tool yang ada di dalem software desain, kita bisa ngebikin bentuk apa pun memakai bentuk dasar persegi itu. Contohnya ada di atas itu. Semua bentuk yang ada di sana dibuat pake persegi biru itu.

Bukan cuma persegi yak, semua bentuk bisa dimodifikasi sesuka hati loh. Misalnya lingkaran bisa kita buat jadi kayak bola penyet. Kalo kita udah paham betul sama karakteristik masing-masing bentuk dan tau batas modifikasinya, ngebikin sebuah objek itu bakalan terasa gampang. Misalnya gue kasih contoh lagi deh, objek sederhana yang gue bikin pake penggabungan beberapa bangun datar di bawah ini.

Bangun datar segitiga dan lingkaran sudah bisa dipadukan memberi bentuk
es krim warna-warni. Perdetail dengan gradasi dan tekstur pada permukaannya.

Tuh kan! Nggak perlu ribet, beneran deh. Intinya sih kalo liat suatu objek, jangan liat rumitnya, tapi sederhanakanlah tampilan itu. Bahkan gelombang di laut aja bentuknya itu bisa kita buat dengan ngegabungin sisi luar dua buah lingkaran loh. Yang lebih expert lagi soal penggabungan berbagai bentuk bisa kalian liat di postingan gue sebelumnya yak.

Pemilihan Warna
Langsung aja yak gue bahas hal dasar tapi penting yang kedua di dalam desain grafis, yaitu pemilihan warna. Oke, mungkin kesannya sepele banget, tapi sejujurnya yang namanya warna itu punya fungsi yang bener-bener hebat. Di dalam dunia psikologi, warna bisa mewakili kepribadian seseorang. Dan dalam berbagai jenis desain, warna bisa memberikan emosi yang kemudian tersampaikan ke otak siapa pun yang melihatnya.

Pernah liat warna ijo yang asalnya dari pohon-pohon yang terhampar luas di pegunungan? Gimana perasaan kalian pas ngeliatnya? Pasti berasa damai dan nyaman kan? Itu adalah emosi yang terpancar dari warna hijau. Gue pernah baca beberapa artikel yang bahas soal warna dan arti-artinya. Tapi, gue coba bikin kesimpulan sendiri yang tentunya berdasar dari pengalaman dan pemahaman gue tentang warna itu sendiri.

Ini cuma lima belas dari milyaran warna yang ada di dunia ini. Kalau butuh yang
lebih banyak lagi, kalian bisa cek di Wikipedia.

  1. Warna-warna konservatif seperti hitam, cokelat, abu-abu, broken white, champagne, dan lain-lainnya yang sejenis. Biasanya warna yang termasuk dalem kategori konservatif itu butek-butek alias terkesan seperti kotor. Padahal sebetulnya nggak. Perpaduan warna konservatif artinya cenderung monoton. Misalnya, kalo dalam desain didominasi warna cokelat dan putih, bisa dibilang itu konservatif. Kesan apa yang bisa kita dapet dari warna-warna konservatif? Nah, ini sekedar trivia sih, gue pernah baca di artikel mana gitu kalo warna konservatif cenderung menggambarkan pribadi yang serius, monoton, kaku, tapi juga berwibawa dan elegan. Nah, makanya warna konservatif banyak dipakai di daem desain logo perusahaan. Karena kesan elegan dan wibawa dari brand yang mereka punya terpancar berkat warna konservatif itu.

  2. Warna-warna terang yang mencolok menggambarkan keceriaan. Kalo ada desain yang colorful dengan paduan warna terang yang mencolok, itu menggambarkan kebahagiaan, kebebasan, semangat, percaya diri, playful, dan eksentrik. Beberapa brand pakai logo dengan warna-warna yang colorful untuk ngegambarin semangat atau pun passion yang dibawa sama brand tersebut. Warna-warna colorful yang kita liat tanpa sadar juga bisa menularkan rasa semangat di dalem diri kita. Nah, makanya kebanyakan industri kreatif itu kalo bikin logo pake warna-warni yang colorful melambangkan kepercayaan diri mereka terhadap kreatifitas yang mereka punya.

  3. Warna-warna pastel yang kalem bisa menyejukkan hati siapa pun yang melihatnya. Bisa banyak arti sih, tapi kalo untuk gue pribadi, warna pastel menciptakan perasaan tenang, kalem, sabar, tapi juga nggak berarti males-malesan and angin-anginan. Warna pastel juga terkesan feminim, makanya nggak heran kebanyak warna pastel dipake untuk ngebikin logo brand-brand yang berhubungan sama produk-produk khusus cewek.

Sebetulnya, setiap satu warna aja punya arti khusus dan emosi yang hendak disampaikannya loh. Tapi, kan nggak mungkin gue bahas semuanya satu-satu. Nanti jadinya bakalan panjang banget. Kesimpulan tentang warna ini sih sebetulnya nggak ribet. Pahamilah feel atau emosi yang dipancarkan oleh suatu warna. Misalnya, dalem desain blog, jangan deh pake warna-warna konservatif untuk blog pribadi. Soalnya blog pribadi punya kesan cheerful, penggunaan warna terang bisa lebih mendukung konten yang disampaikan. Begitu juga sebaliknya. Kalo desain blog untuk perusahaan high class, terlalu full color malah memberikan kesan buruk. Nanti dikiranya brand asal-asalan lagi sama orang-orang upper-class itu.

Pengaturan Komposisi
Last for today, unsur yang perlu kita pahamin setelah kita kuasain karakteristik bentuk dan warna. Yak, komposisi! Terkesan sepele, tapi ini juga penting. Perlu diinget kalo nggak semua desain yang disajikan di permukaan datar dua dimensi  itu bagus kalo disajikan secara simetris, terkadang asimetris malah memberi kesan yang lebih indah. Contoh desain simetris yang indah itu bisa dilihat pada desain Gunungan wayang kulit di bawah ini.

Bisa dilihat di samping kalo ternyata desain simetris pada Gunungan memberikan kesan yang indah dan bernilai seni tinggi. Inti dari simetris adalah keseimbangan antara sisi yang satu dengan sisi lainnya yang terpisah oleh satu garis tengah yang lurus.

Tapi, seni desain grafis yang udah modern justru banyak yang menampilkan desain-desain asimetris. Gimana sih caranya bikin desain asimetris yang terkesan indah dan nggak berat sebelah? Gue punya tips sederhana yang biasa gue lakuin pas lagi iseng ngedesain poster. Yaitu, kalo pada salah satu sisi penuh dengan gambar, coba seimbangkan bagian lainnya dengan warna-warna yang terang atau bisa juga diisi dengan tulisan yang nggak kalah nyentriknya.

Intinya sih, pengaturan komposisi ini bener-bener jadi faktor penentu apakah suatu desain itu bakalan terlihat bagus atau nggak. Lebih kental lagi terasa di dunia fotografi. Dan cara yang efektif dalam menentukan komposisi ini, hampir nggak bisa dijelaskan secara teori. Cukup banyak berlatih aja, lama-kelamaan insting kita dalam menentukan komposisi yang tepat juga makin terasah. Makanya, keep on practice, jangan pernah nyerah, and jangan ngerasa takut ngoprek-ngoprek software-nya.

Sampe sini dulu update gue soal desain grafis hari ini. Semoga bisa bermanfaat, soalnya gue juga sekalipun udah lumayan lama terjun di dunia desain grafis, gue masih tetep belajar dan belajar biar semakin baik lagi ke depannya. Kalo ada waktu, bakal gue lanjutin lagi deh dengan bahasan yang lebih menarik.


Kesimpulan


Perkembangan teknologi berkembang sangat cepat, disertai dalam penerapannya dalam berbagai bidang, baik bidang pendidikan, kesehatan, pemerintahan, atau dalam bidang entertainmen seperti game dan hiburan.

contohnya, dalam bidang hiburan, yaitu penerapan teknologi grafika komputer, untuk membuat sebuah animasi baik 2D ataupun 3D, sehingga dunia fantasi, tak lagi menjadi khayalan didalam benak setiap orang.

grafika komputer sendiri termasuk berkaitan ilmu desain grafis, desain adalah sebuah konsep pembangunan sebuah objek dan grafis adalah presentasi visual dari desain, kemudian presentasi tersebut dapat "dibungkus" dalam bentuk grafika komputer, seperti film animasi yang sedang tren sekarang adalah hasil dari desain dan grafis.

sekarang, desain grafis sangat berperan besar dalam industri apapun,baik dalam desain produk sebuah perusahaan, atau desain iklan untuk menarik pelanggan, dan banyak hal lainnya.


salah satu manfaat belajar desain grafis adalah kita tahu bagaimana membuat sebuah desain visual yang menarik banyak orang untuk melihat, hal ini sangat penting dalam dunia TI, yaitu desain web, seorang web desainer harus tahu bagaimana memanfaatkan "psikologis" pengunjung web untuk keuntungan webnya.

penggunaan Image dan Warna adalah salah satu contohnya, seorang web desainer yang lihai dalam memadukan image dan warna akan bisa membuat sebuah web yang bagus, dan menarik. warna yang cocok akan menaikan kualitas web dan otomatis meninggikan rating, contoh penggunaan warna yang benar seperti warna hijau untuk web lingkungan atau sekolah, dan putih atau biru untuk web berita informasi.

tetapi, jika tidak bisa memadukan dengan baik, hal tersebut akan menjadi bumerang bagi webnya sendiri, pengunjung dapat dibuat pusing dengan web yang dia kunjungi, sehingga akan menurunkan kualitas dan rating web.

oleh karena itu, pengembangan teknologi dalam desain web sangat diperlukan, contoh dalam hal ini adalah HTML5 yang memudahkan web desainer dalam desain web, dengan memperahtikan desain dan grafis.

diatas adalah sebuah contoh sederhana, dari pemanfaatan image dan warna dalam mempengaruhi psikologis pengunjung, selain itu ada banyak teori dalam ilmu desain grafis, diantaranya adalah teori representasi, yang merupakan ilmu "bagaimana" sebuah simbol, warna atau gambar "mewakili" objek yang ada didunia nyata yang pernah dilihat sesorang, sehingga mengingatkannya pada objek tersebut, sebagai contoh adalah pada simbol pertamina, hal pertama yang terlintas dalam benak kita adalah sudah pasti sebuah Pom Bensin, sehingga mengingatkan kita akan bensin motor kita sekarang, dan "terpancing" untuk mengisi bensin dipertamina. 

Teori representasi memiliki beberapa sub teori, yang masing-masing memiliki pembahasan tersendiri dalam representasi objek, diantaranya adalah teori hubungan kausal, yang juga dibagi 2 yaitu teori transparansi yang menyatakan bahwa ketika kita melihat sebuah simbol atau gambar, sebenarnya kita melihat secara "tembu pandang" melalui gambar tersebut ke objek yang kita lihat, dan teori rekognisi, yaitu teori pengenalan kepada simbol atau gambar sebagai objek nyata, dikarenakan kita pernah melihat objek nyata tersebut.

selain teori representasi masih banyak teori lain didalam desiain grafis, untuk kepentingan visual.

dalam film animasi 3D, desain grafis sangat berperan penting dalam baik tidaknya sebuah film animasi, tanpa desain yang baik, animasi akan kehilangan keunikannya, dan juga jika grafisnya jelek, desain yang sudah baik akan sia-sia karena presentasinya jelek.

desain grafis pada dunia perkembangan teknologi komputer misalnya adalah ubiquitous computing, bagaimana memodelkan sebuah sistem jaringan perangkat dalam memenuhi kebutuhan seorang manusia, hal tersebut memerlukan pemodelan, kemudian dari model tersebut dibangun sebuah desaing, yang akan dipresentasikan kekehidupan nyata, sebagai contohnya adalah Smartcar, SmartHome dan masih banyak lagi

















Rabu, 03 Juli 2013

Tugas Kelompok PBO

LISTING PROGRAM






import javax.swing.*;

public class gaji{
public static void main(String[]args){
int gapok=0,tunjangan=0,total_gaji;
String nama=JOptionPane.showInputDialog("Masukkan nama");
String NIK=JOptionPane.showInputDialog("Masukkan NIK");
String golongan=JOptionPane.showInputDialog("Masukkan Golongan (1/2/3)");
int a=Integer.parseInt(golongan);
String jumlah_anak=JOptionPane.showInputDialog("Masukkan Jumlah Anak");
int b=Integer.parseInt(jumlah_anak);

if(a==1)
{gapok=1000000;
    if(b<3)
    {tunjangan=200000;}
    else
    {tunjangan=0;}
}
else if(a==2)
{gapok=1500000;
if(b<3)
    {tunjangan=150000;}
    else
    {tunjangan=0;}
}
else if(a==3)
{gapok=2000000;
if(b<3)
    {tunjangan=100000;}
    else
    {tunjangan=0;}
}
total_gaji=tunjangan+gapok;
JOptionPane.showMessageDialog(null,"Nama:"+nama+"\nNIK:"+NIK+"\nGolongan:"+a+"\nJumlah Anak:"+b+"\nGaji Pokok:"+gapok+"\nTunjangan:"+tunjangan+"\nTotal Gaji:"+total_gaji);
}
}


OUTPUT PROGRAM
Pertama-tama kita Masukan nama pegawai dahulu

Lalu kita masukan nomor NIK pegawai


 Lalu kita masukan Golongan dari Pegawai

 

Lalu  kita masukan jumlah anak dari Pegawai


nah baru muncul data lengkap beserta gaji dari pegawai