Selasa, 17 November 2015

MEMBAHAS TENTANG MENGANALISA DHCP CLIEN

 Membahas tentang menganalisa DHCP clien

Konsep DHCP Server
Mengingat  alamat  IP  yang  sudah  digunakan  oleh  setiap  komputer  tentulah
bukan  suatu  pekerjaan  yang  mudah  dan  santai,  apalagi  terdapat  lebih  dari
seratus  komputer.  Setiap  instalasi  komputer  baru,  Anda  harus  mencari  I P yang
belum  terpakai  atau  I P  akan  bentrok.  Belum  lagi  komputer  yang  rusak  dan
diganti  sehingga  Anda  harus  mengingat  kembali  alamat  IP  yang  lama,  maka
munculah  ide  untuk  mengotomatisasi  pengalamatan  IP dengan  DHCP
Komputer  yang  telah  dikonfigurasikan  agar  menggunakan  DHCP,  sewaktu
dihidupkan akan mencari apakah di Network terdapat DHCP Server dan komputer
tersebut  akan  berteriak:   hai,  saya  mau  menyewa  IP,  apakah  ada  yang
menawarkannya? .  DHCP Server  yang  mendengar  adanya  pihak  yang  mencari
akan  berkata  ok,  saya  adanih  I P  untuk  disewakan,  nomornya  adalah  sebagai
berikut  bla bla  bla..........  Apakah  Anda  tertarik? .  Komputer  yang mendapatkan
penawaran  dari DHCP Server  ini akan memilih dari  sekian  penawar an I P secara
acak  jika dalam  network  terdapat  beberapa  DHCP Server.  Ketika  pilihan  sudah
diputuskan,  komputer  akan  mengatakan  ke  salah  satu  DHCP Server  ok,  saya
akan  meminjamnya dari  Anda DHCP Ser ver .  DHCP Ser ver  akan  menjawab  lagi
untuk terakhir kalinya ok .
Proses penyewaan alamat IP seara teknis adalah:
1.  Client mengirimkan broadcast DHCPDISKCOVER untuk mencari DHCP Server.
2.  DHCP  Server  yang  tersedia  mengirimkan  DHCPOFFER  serta  IP  dan  waktu
penyewaan.
3.  Client  yang  menerima  penawar an  IP  dari  DHCP  Ser ver  mengirimkan
DHCPREQUEST.
4.  Proses terakhir, DHP Server mengirimkan DHPPACK.
Pembaruan Penyewaan IP
Sebenarnya  ketika  DHCP  Server  menyewakan  IP  ke  komputer  client,  DHCP
Server akan mengatakan,  OK, saya akan m enyewakan IP ini untuk Anda selama
sekian  hari .  Agar  komputer  client  bisa  tetap  aktif  dan  berkomunikasi  dalam
jaringan,  maka  penyewaan  IP  perlu  dilakukan  penyewaan  kembali  sebelum
masa akhir penyewaan IP habis.
Komputer  client  akan  secara  otomatis  memperbaharui  penyewaan  I P  ketika
mencapai  50%  dari  masa  waktu  penyewaan  dengan  mengirimkan
DHCPREQUEST ke DHCP Server. Jadi misalkan saja penyewaan IP adalah 8 hari,
maka  pada  hari  ke  4,  komputer  client  akan  mencoba  memperbaharui
penyewaan  I P  ini  secara  otomatis.  Andaikan  saja  pada  saat  penyewaan
mencapai  50%  dan penyewaan  IP kembali  gagal  dilakukan  karena DHCP server
sedang  diperbaiki,  maka  komputer  secara  otomatis  akan  mencoba  lagi
memperbaharui  penyewaan  IP  pada  saat  masa  sewa  mencapai  87.5% .
Bagaimana  jika  komputer  client  tetap  tidak  dapat  memperbaharui  masa
penyewaan  I P  ter sebut?  Maka  tidak  seperti  hukum  di  Indonesia  yang  bisa
seenaknya  dimainkan,  komputer  client  harus  melepaskan  IP yang  telah  disewa
dan  mencari  DHCP  server  yang  lain  atau  tidak  mendapatkan  alamat  I P  yang
baru.
Instalasi DHCP Server pada Windows 2003
Sebelumnya  sudah  kita  bicarakan  setting  IP  otomatis  yang  akan  mengambil
konfigurasi  IP melalui  DHCP Server,  pada  bagian  ini  akan  kita lihat  bagaimana
melakukan instalasi dan pemakaian dari DHCP server.
Windows  2003  seperti  juga  pada  server  pendahulunya  ( Windows  2000  NT)
sudah  mengikutsertakan  servies  untuk  berfungsi  sebagai  DHCP  server .
Walaupun  services dari DHCP ini tidak terinstalasi  secara default,  tapi  Anda bisa
menginstalnya  dengan  sangat  mudah,  yaitu  melalui  menu:
Star t  >  Control
Panel  >  Add  Or  Remove  Programs  >  Add/ Re move  Windows
Components  >  Networking   Services  >  Dynamic  Host  Configuration
Protocol (DHCP).

Scope
Tugas DHCP server adalah memberikan IP atau yang lebih dikenal, menyewakan
IP  ke  client.  IP  apa  saja  yang  disewakan  ke  client?  IP  yang  ditawarkan  atau
biasanya  range  I P yang  ditawarkan  oleh  DHCP  server  disebut  sebagai  scope.
Misalkan  Anda  mempunyai  scope antara 10.10.1.1  s/d  10.10.1.3,  artinya DHCP
server  Anda  bisa  memberikan  IP  ke  tiga  komputer  sekaligus,  yaitu  10.10.1.1,
10.10.1.2, dan 10.10.1.3.
Biasanya  saya  memberikan  range  IP  secara  lengkap  ke  dalam  DHCP.  Jadi
misalkan  network  saya  menggunakan  IP  192.168.0.0/  24  ( subnet  mask
255.255.255.0  jika Anda lupa  dengan  arti  dari  angka  24  ini)  atau  192.168.0.1-
192.168.0.254  maka saya  akan  membuat  range  Start  IP address  dengan  nilai
192.168.0.1  dan  End  IP address  dengan  nilai  192.168.0.254.  Bagaimana  jika
nomor  IP  192.168.0.9  dan  192.168.0.10  sudah  terpakai  untuk  ser ver  saya?
Apakah tidak  bentr ok  jika DHCP masih  tetap  menawarkannya? Tentu  saja akan
bentrok  jika  DHCP server  Anda  menawarkannya,  karena  itulah  nantinya  harus
Anda set  agar  IP yang sudah  digunakan  jaringan lagi  ditawarkan  melalui  pilihan
Exclude.
Sebagai  sedikit  gambar an  dalam  perancangan  penggunaan  IP,  misalkan  saya
mempunyai  network  range  yang  digunakan  192.168.0.1  s/ d  192.168.0.254,
maka  saya  akan  tetapkan,  semua  server  harus  menggunakan  I P  permanen
antara  192.168.0.1-192.168.20,  untuk  alat  network  seperti  swicth,  router  dan
lain-lain akan menggunakan range IP 192.168.0.21- 192.168.0.50. Nantinya pada
DHCP server  saya  tinggal  set  agar  range  IP dari  192.168.0.1  s/ d  192.168.0.50
harus  di- exclude  atau  tidak  boleh  ditawarkan  ke  client.  Pada  saat  pemasangan
server baru,  saya tinggal menggunakan salah satu IP dari range I P 192.168.0.1-
192.168.0.20 dan tidak perlu melakukan apapun pada DHCP server yang sedang
berjalan.  Tentu  saja  Anda bisa melebarkan  range I P untuk server  maupun alat-
alat komunikasi sesuai dengan kebutuhan Anda dan nantinya.
Untuk mengaktifkan sebuah scope,  klik  gambar server kemudian pilih
Act ion >
New
Scope
atau klik kanan
N ew  Scope
.  Kolom  Start  IP address  dan  End IP
address  meminta  Anda  agar  memasukan  alamat  IP awal  dan  alamat  IP akhir
yang akan digunakan.  Karena saya menggunakan network 192.168.0.0/24 maka
saya bisa memasukan  IP 192.168.0.1 pada kolom  Start  Ip address  sedangkan
pada  kolom  End  Ip  address  dimasukan  IP  192.168.0.254  (ingat  alamat
192.168.0.0 dan  192.168.0.255  tidak bisa digunakan).  Selain  Start  IP address
dan  End  IP  address  Anda  juga  harus  mengisi  subnet  mask  yang  digunakan
dalam bentuk jumlah bit (length) atau dalam bentuk desimal.
Seperti  yang telah  saya jelaskan,  Anda bisa memasukan IP dalam  scope  yang
tidak  boleh disewakan  ke client  pada bagian  Add  Exculusions .  Pada bagian  ini
Anda bisa memasukan per IP secara satu persatu atau dalam suatu range. Disini
terlihat  betapa  membantunya  desain  penggunaan  I P yang  telah  saya  lakukan
sehingga  saya  hanya  perlu  memasukan  I P r ange  192.168.0.1  s/ d  192.168.0.50
dari  pada  saya  harus  memasukannya  satu  per  satu  IP  yang  digunakan  oleh
server dan alat-alat komunikasi jaringan.
Untuk  memasukan  IP satu  per  satu,  Anda bisa  memasukannya  dalam  Star t  IP
address  dan  End  IP  address  dengan  IP  yang  sama.  Jadi  misalkan  Anda
mempunyai  satu  IP yang  harus di- exclude  yaitu  192.168.0.100,  maka  masukan
IP  192.168.0.100  dalam  kolom  Start  IP  address  maupun  End  IP  address
kemudian klik tombol Add
Durasi  penawaran-penawaran  IP  oleh  DHCP  server  ke  client  dimasukkan  ke
dalam  bagian  Lease  Duration .  Jadi  pada  bagian  inilah  Anda
menentukan berapa lama sebuah komputer yang meminjam IP dari DHCP server
harus memperbarui IP yang telah dipinjamnya. Secara default, waktu yang terisi
adalah  8  hari  yang  tentu  saja  sudah  cukup  lama.  Semakin  lama  waktu  sewa
tentunya  lalu  lintas  data  pada  jaringan  Anda  juga  akan  semakin  sedikit;  tapi
saya  sendiri  lebih  suka  waktu  penyewaan  atau  lease  dur ation  selama  1  hari
selama suatu jaringan belum benar- benar dir ancang dengan  sangat  baik.  Hal ini
dilakukan  untuk  mengantisipasi  perubahan-perubahan  kebijakan  seperti  alamat
server  DNS yang  berubah  dan  lain-alin.  Dengan lease dur ation  1  hari,  kenaikan
lalu  lintas data akan  cukup  terasa jika ter dapat  ratusan komputer  karena proses
pembaruan  dan  penyewaan menggunakan sekitar empat  kali 576 bytes. Setelah
mendapatkan  network yang lebih  mantap,  Anda bisa secara bertahap menaikan
lease duration secara bertahap.
Selain  konfigurasi IP yang  disewakan  ke client,  Anda juga bisa  mengatur  alamat
DNS, Default Gateway dan lain-lain . Dengan demikian, penyewaan
IP  oleh  client  berupa  satu  paket  lengkap  dengan  seting  alamat  DNS,  Default
gateway  dan  lain-lain,  dan  karean  alasan  inilah  saya  lebih  suka  dengan  lease
duration selama 24 jam. Andaikan terjadi perubahan alamat DNS dan perubahan
Gateway saya bisa segera memasukannya ke dalam DHCP server sehingga client
tidak  perlu  menunggu  terlalu  lama untuk mendapatkan  data yang  terbaru,  atau
saya  tidak  perlu  mendengar  terlalu  lama  omelan-omelan  yang  segera  datang
dari pengguna.
Pilihan  pertama  yang  bisa  Anda  informasikan  konfigurasi  tambahan  pada  I P
adalah  alamat  default  gateway  .  Alamat  default  gateway  ini
biasanya  merupakan  alamat  dari  router  jika Anda  terhubung  dengan  WAN atau
Internet.  Default  gateway  bisa  dikatakan  sebagai  alamat  yang  Anda tuju  ketika
berhubungan  dengan  network  lain  yang  tentu  saja  selain  network  lokal.
Komunikasi  dengan  network  lokal  tidak  akan  bisa  melalui  default  gateway,
karena  itu  Anda tidak  bisa merancang  dua network  yang  dihubungkan  dengan
leased line dan router dengan alamat network yang sama.
Pada bagian  selanjutnya,  Anda bisa  memasukan  domain  yang  digunakan dalam
network  pada  kolom  Parent  Domain  yang  dalam  contoh  ini  adalah
jasakom.com.  Selanjutnya,  pada  kolom  Server  name  dan  IP
address  digunakan  untuk  memberikan  infor masi  lokasi  DNS  server  dalam
network.  Anda  bisa  m emasukan  nama  server  dari  DNS  server  saja  jika  tidak
hafal dengan alamat IP-nya dan mengklik tombol  Resolve , maka alamat I P dari
nama DNS yang dimasukan  akan diisi secara otomatis.  Selanjutnya jangan  lupa
mengklik tombol  Add .
Setelah  seting  domain  dan  informasi  DNS,  Anda  bisa  juga  memasukan  lokasi
WINS. Anda tidak perlu lagi memasukan atau menggunakan WINS
ini  jika  network  atau  jaringan  yang  digunakan  minimal  adalah  Windows  2000
dan  XP.  WINS  sebenarnya  sudah  hendak  dimatikan  oleh  Microsoft  semenjak
Microsoft memutuskan untuk menggunakan TCP/IP sebagai protokol utamanya.
Langkah  terakhir  adalah mengaktifkan DHP server  yang  telah diseting agar  bisa
segara  menajalankan  tugasnya.  Untuk  mengaktifkan  DHCP  ser ver  ini,  Anda
tinggal memilih pilihan  Yes, I want to activate this scope now  .
Setelah  DHCP server  aktif,  Anda  akan  melihat  gambar  server  DHCP  dan  juga
berbagai informasi yang penting bagi administrator . Beberapa hal
yang  bisa  Anda  lihat  adalah  nama  scope,  kemudian  Address  Pool  yang
menginformasikan range dari IP yang boleh  dan  tidak  boleh ( exclude)  diber ikan
ke DHCP client.  Address Leases  menunjukkan IP yang  telah disewa  oleh client
dan  informasi  nama komputer  yang  menyewa  I P tersebut  serta kapan  I P yang
disewa  akan  habis  masa  waktunya  ( expir ed).  Reservation  digunakan  untuk
menunjukkan  pemberian  alamat  IP  tertentu  pada  komputer  yang  tetap  ( akan
kita bahas nantinya) .  Scope Option  adalah tambahan informasi pada setting IP
yang  telah  kita  berikan  seperti  informasi  DNS dan  informasi  Default  gateway.
Pada  bagian  terakhir,  yaitu  Server  Option  sebenarnya  tidak  terlalu  banyak
berguna karena digunkan hanya j ika Anda mempunyai banyak scope dalam satu
DHCP  server.  Daripada  melakukan  setting  informasi  DNS  server  pada  setiap
scope,  Anda  bisa  melakukan  setting  pada  Ser ver  Option  yang  akan  menjadi
default setting pada semua scope.

Senin, 16 November 2015

ALGORITMA PERULANGAN

Algoritma Perulangan

Pengulangan / looping adalah pelaksanaan suatu instruksi berulang kali. Di dalam algoritma, pengulangan dapat dilakukan sejumlah kali, atau sampai kondisi berhenti pengulangan tercapai.

Struktur Pengulangan
Bentuk Umum:     <inisialisasi>
                              awal pengulangan
                              badan pengulangan
                              akhir pengulangan
                           <terminasi>
  • <inisialisasi>: aksi yang dilakukan sebelum pengulangan dilakukan untuk pertama kalinya.
  • Badan pengulangan: bagian algoritma yang diulang
  • <terminasi>: aksi yang dilakukan setelah pengulangan selesai dilaksanakan
  • <inisialisasi> dan <terminasi> tidak selalu ada, namun pada berbagi kasus inisialisasi umumnya diperlukan awal dan akhir pengulangan dinyatakan sebagai kata kunci yang bergantung pada struktur pengulangan yang digunakan.
Macam struktur pengulangan
Struktur FOR    pengulangan tanpa kondisi (unconditional looping) jumlah pengulangan sudah diketahui         
                         sebelum eksekusi

Struktur WHILE 
                             pengulangan dengan kondisi (conditional looping) jumlah pengulangan tidak diketahui       
                             sebelum eksekusi program. Yang dapat ditentukan hanya kondisi berhenti
Struktur REPEAT  pengulangan (instruksi-instruksi di dalam badan pengulangan diulangi sampai kondisi       
                             berhenti terpenuhi)

Struktur FOR
  • Struktur pengulangan FOR digunakan untuk mengulang statemen atau satu blok statemen berulang kali.
  • Jumlah pengulangan diketahui atau dapat ditentukan sebelum eksekusi.
  • Untuk mencacah sudah jumlah pengulangan diperlukan sebuah peubah (variable) pencacah (counter). Peubah ini nilainya selalu bertambah satu setiap kali pengulangan dilakukan.
  • Jika cacah pengulangan sudah mencapai jumlah yang dispesifikasikan, maka proses pengulangan berhenti.
Bentuk umum struktur FOR:
– Menaik (ascending)
– Menurun (descending)

FOR menaik
for pencacah <- nilai_awal to nilai_akhir do
    aksi
endfor
  • pencacah -> menggunakan tipe data yang memiliki predecessor dan successor, yaitu integer atau karakter (tipe riil tidak dapat digunakan sebagai pencacah)
  • aksi -> satu atau lebih instruksi yang diulang.
  • nilai_awal harus lebih kecil atau sama dengan nilai_akhir (jika nilai_awal lebih besar dari nilai_akhir, maka badan pengulangan tidak dimasuki)
  • pada awalnya pencacah diinisialisasikan dengan nilai_awal. Nilai pencacah secara otomatis bertambah satu setiap kali aksi pengulangan dimasuki, sampai akhirnya nilai pencacah sama dengan nilai_akhir
  • jumlah pengulangan yang terjadi = nilai_akhir – nilai_awal + 1
Contoh: Mencetak tulisan ‘Informatika’ sebanyak 5 kali
Algoritma CETAK_INFORMATIKA
    { Mencetak ‘Informatika’ sebanyak 5 kali }
DEKLARASI
     k : integer { pencacah pengulangan }
DESKRIPSI :
for k¬1 to 5 do { ulangi sebanyak 5 kali }
    write(‘Informatika’)
endfor

Program CETAK_INFORMATIKA;
   { Mencetak ‘Informatika’ sebanyak 5 kali }
    (* DEKLARASI *)
var
   k : integer;
   (* DESKRIPSI *)
begin
  for k := 1 to 5 do
  writeln(‘Informatika’);
  (*endfor*)
end.
  • Struktur FOR dapat digunakan sebagai penyelesaian karena jumlah pengulangan sudah ditentukan sebelumnya (5 kali) 
  • Badan pengulangan hanya berisi satu instruksi, yaitu write(‘Informatika’)
  • k adalah peubah pencacah yang bertipe integer
  • pada mulanya k bernilai 1, nilai k selalu bertambah 1 setiap kali pengulangan dilakukan, sampai akhirnya k mencapai 5
  • Jumlah pengulangan yang dilakukan: 5 – 1 + 1 = 5 kali
  • Keluaran dari algoritmaCETAK_INFORMATIKA adalahstring ‘Informatika’ sebanyak 5kali:
Informatika
Informatika
Informatika
Informatika
Informatika
Contoh:
Menghitung jumlah
angka-angka dari 1
sampai N.
jumlah = 1 + 2 + 3 +
 ... + N
Nilai N dibaca terlebih
dahulu dari piranti
masukan. Misalnya,
jika N = 5, maka
jumlah angka dari 1
sampai 5 adalah deret
1 + 2 + 3 + 4 + 5 = 15

Algoritma PENJUMLAHAN_DERET
  { Menjumlahkan deret 1 + 2 + 3 + ... + N, dengan N adalah bilangan bulat positif yang dibaca dari piranti
     masukan }

DEKLARASI
  k : integer { pencacah pengulangan }
  N, jumlah : integer

DESKRIPSI :
read(N) { banyaknya suku deret }
jumlah ¬ 0
for k¬1 to N do { ulangi sebanyak N
         kali }
jumlah ¬ jumlah + k
endfor
write(jumlah)

Program PENJUMLAHAN_DERET;
{ Menjumlahkan deret 1 + 2 + 3 + ... + N, dengan N adalah bilangan bulat positif yang dibaca dari piranti   masukan }
(* DEKLARASI *)
var
k, N, jumlah : integer;
(* DESKRIPSI *)
begin
write(‘Masukkan banyaknya suku deret : ‘);
readln(N);
jumlah := 0;
for k := 1 to N do
jumlah := jumlah + k;
(*endfor*)
writeln(jumlah);
end.

Contoh:
Menghitung nilai rata-rata dari N buah data bilangan bulat yang dibaca dari piranti masukan. Nilai rata-rata adalah jumlah seluruh nilai dibagi dengan banyaknya nilai.
Misalkan, N = 5 dan data bilangan yang dibaca berturut-turut adalah 12, 10, 6, 2, 4, maka nilai rataratanya
adalah:
(12 + 10 + 6 + 2 + 4)/5 = 34/5
= 6.8

Algoritma HITUNG_RATA_RATA
{ Menghitung rata-rata N buah bilangan bulat yang dibaca dari
piranti masukan. N > 0. }

DEKLARASI
k : integer { pencacah pengulangan }
N : integer { jumlah data, > 0 }
x : integer { bilangan bulat yang
dibaca }
jumlah : integer
rata : real

DESKRIPSI :
read(N) { banyaknya suku deret }
jumlah ¬ 0
for k¬1 to N do { ulangi sebanyak N
kali }
read(x)
jumlah ¬ jumlah + x
endfor
rata ¬ jumlah/N
write(rata)

Program HITUNG_RATA_RATA;
{ Menghitung rata-rata N buah bilangan bulat yang dibaca dari piranti masukan. N > 0. }
(* DEKLARASI *)
var
k, N, x, jumlah : integer;
rata : real;
(* DESKRIPSI *)
begin
write(‘Masukkan banyaknya suku deret : ‘);
readln(N);
jumlah := 0;
for k := 1 to N do
begin
write(‘Bilangan ke-’,k,’ : ‘);readln(x);
jumlah := jumlah + x;
end;
rata := jumlah/N;
writeln(rata);
end.
  • Pencacah pengulangan tidak harus bertipe integer. Tipe lain pun juga dapat dijadikan sebagai pencacah asalkan tipe tersebut memiliki keterurutan (ada predecessor dan successor. Bilangan bulat dan karakter adalah tipe data yang memiliki predecessor dan successor. Bilangan riil tidak memiliki predecessor dan successor sehingga ia tidak dapat digunakan sebagai pencacah.
FOR menurun
 for pencacah¬nilai_akhir downto nilai_awal do
aksi
endfor
  • pencacah -> menggunakan tipe data yang memilki predecessor dan successor, yaitu integer atau karakter (tipe riil tidak dapat digunakan sebagai pencacah.
  • aksi adalah satu atau lebih instruksi yang diulang)
  • nilai_akhir harus lebih besar atau sama dengan nilai_awal (Jika nilai_akhir lebih kecil dari nilai_awal, maka badan pengulangan tidak dimasuki)
  • pada awalnya pencacah diinisialisasikan dengan nilai_akhir. Nilai pencacah secara otomatis berkurang satu setiap kali aksi diulangi, sampai akhirnya nilai pencacah sama dengan nilai_awal. 
  • jumlah pengulangan yang terjadi = nilai_akhir – nilai_awal + 1 
Contoh: Mencetak angka 5, 4, …, 1
Algoritma CETAK_ANGKA_TURUN
   { Mencetak 5, 4, ..., 1 ke piranti keluaran }
DEKLARASI
k : integer { pencacah pengulangan }
DESKRIPSI :
for k¬5 downto 1 do
write(k)
endfor
 
Program CETAK_ANGKA_TURUN;
{ Mencetak 5, 4, ..., 1 ke piranti keluaran }
(* DEKLARASI *)
var
k : integer;
(* DESKRIPSI *)
begin
for k := 5 downto 1 do
write(k,’ ‘);
(*endfor*)
end.

Pada algoritma
CETAK_ANGKA_TURUN,
angka-angka yang dicetak bersesuaian dengan nilai pencacah pengulangan. Keluaran dari algoritma adalah angka 5 yang turun sampai ke angka 1:
5 4 3 2 1

SIMULASI VISUAL

SIMULASI VISUAL

Deskripsi 


Simulasi Visual adalah 3D visualization atau video animasi 3D yang mewujudkan gagasan secara visual untuk memecahkan suatu masalah yang sesuai dengan kebutuhan siswa.  
Dalam mengomunikasikan gagasan diperlukan kemampuan memvisualkan materi informasi agar menjadi sarana komunikasi yang lebih mudah tersampaikan dan dicerna.  


Proses pembuatan animasi 3D terdiri atas proses: ide gambar, pemodelan, texture, menganimasikan dan rendering. Pemodelan 3D memiliki proses pembuatan yang panjang akan tetapi model dapat disimpan, dilihat dari berbagai sudutpandang dan proses animasinya menjadi mudah. Sementara itu pada animasi 2D, objek/karakter dapat dibuat dalam waktu singkat namun justru menganimasikannya memerlukan proses yang panjang karena harus dilakukan berulang-ulang. Untuk kepentingan pembelajaran bagi semua siswa yang tersebar pada berbagai bidang keahlian pada SMK, dipilih animasi 3D sebagai materi pembelajaran kompetensi Simulasi Visual.  

Software pengolah animasi 3D yang dapat digunakan membuat simulasi visual tersedia beragam, antara lain 3DsMax, Cinema 4D, Maya, Blender.  Simulasi Visual menggunakan software Blender karena merupakan freeware dengan file instalasi yang tidak besar. Blender dapat dijalankan menggunakan Operating System Linux, Windows dan Mac. 
Sebagai 3D visualization, Simulasi Visual hanya memvisualkan objek benda yang akan dikomunikasikan. Hasil visualisasi dapat berdiri sendiri sebagai penjelas atau ilustrasi animasi dari bagian Buku Digital atau pendukung Presentasi Video pada bagian yang tidak dapat dikasatmatakan. 


Kegiatan Belajar 21: 
Memahami Simulasi Visual – Pengertian, Fungsi, dan Jenis Simulasi Visual 

A. Tujuan Pembelajaran 
Setelah mengikuti pembelajaran, siswa mampu :
1. Menjelaskan pengertian simulasi visual
2. Menjelaskan  fungsi simulasi visual
3. Menjelaskan jenis simulasi visual

B. Uraian Materi 
Manusia memiliki naluri untuk menyampaikan gagasan dalam bentuk visual.  Sejarah telah membuktikan bahwa manusia lebih dahulu mengenal gambar atau simbol untuk mengomunikasikan gagasan kepada orang lain. Hal ini membuktikan bahwa manusia merupakan makhluk visual yang akan lebih cepat mencerna makna melalui visual daripada tulisan.  
Penyampaian ide secara visual meliputi animasi 2D dan animasi 3D. Bentuk informasi 2D yang statis disebut dengan infografik, sedangkan yang dinamis karena berbentuk animasi teks dan gambar disebut motion graphic . Perkembangan teknologi saat ini telah mengubah cara menyampaikan gagasan visual menjadi sangat menarik. Sebagai contoh adalah visualisasi video iklan dengan teknik animasi.  
Animasi 3D merupakan teknik yang populer untuk membuat memvisualikan gagasan atau informasi lainya. Pada umumnya animasi 3D dibuat untuk membuat film animasi cerita. Dalam kaitannya dengan Simulasi Visual pada mata pelajaran Simulasi Digital, animasi 3D difokuskan pada visualisasi objek. 
Gambar di bawah ini adalah hasil cuplikan gambar dari contoh video simulasi visual tentang visualisasi pemijahan ikan gurame, video tersebut mampu menvisualkan kehidupan ikan di dalam air sehingga terlihat nyata.   



Simulasi visual berfungsi sebagai media untuk mengomunikasikan gagasan atau konsep  dalam bentuk simulasi dalam format digital.  
Bentuk simulasi visual biasa kita temukan pada iklan, presentasi produk dan visual guide. Peran simulasi visual ini sangat membantu penonton untuk lebih jelas menerima informasi. Pada penerapan visual guide biasa ditemukan dalam pembuatan tutorial atau proses kerja suatu alat dan bagaimana penggunaan serta perawatannya.  
Kemajuan teknologi grafik animasi 3D atau yang biasa disebut dengan 3D visualization mendukung tampilan untuk menjelaskan suatu kejadian atau proses secara lebih nyata dan rinci. 
Era digital saat ini menuntut konten yang lebih dari hanya sekadar sebuah teks dan gambar grafik 2D. Hal ini didukung oleh software pembuat animasi 3D yang sangat beragam. Perangkat elektronik sudah mampu membaca bahan ajar digital seperti ebook dengan ekstensi format file *epub (electronic publication) yang di dalamnya tidak hanya teks dan gambar melainkan juga mampu membaca format video. Dalam hal ini, simulasi visual 3D dapat melengkapi konten pembelajaran menjadi lebih menarik.  
Simulasi visual yang akan dibahas menggunakan software opensource Blender. Blender merupakan software grafis animasi 3D dengan kemampuan yang powerfull dan gratis (no license). 
Secara garis besar pembeda simulasi visual dari film animasi bercerita (animasi kartun) adalah bentuk animasinya yang dominan menggunakan teknik animasi sederhana seperti perpindahan lokasi objek  (moving), perubahan ukuran objek (scale), Putaran objek  (rotation) dan menganimasikan kamera (camera animation). Selebihnya untuk menambah impresi animasi bisa ditambahkan animasi efek untuk menambah realisasi objek  yang di ceritakan. Penambahan efek adalah animasi tingkat lanjut dan biasanya memerlukan penggunaan software tambahan untuk membuat efek tersebut.   
Simulasi visual ini dimaksudkan untuk membekali kompetensi siswa dalam merealisasikan gagasan untuk bisa dikomunikasikan dengan lebih menarik secara visual.  
C. Rangkuman

  1. Ilustrasi secara visual akan memudahkan informasi cepat dicerna oleh manusia.  
  2. Simulasi visual berfungsi sebagai media untuk mengomunikasikan gagasan atau konsep  dalam bentuk rekaan dalam format digital. 
  3. Platform yang digunakan untuk membuat simulasi visual adalah Blender, sebuah software pembuat animasi 3D opensource.  
  4. Simulasi visual pada umumnya dipakai untuk membuat 3D visualization pada produk atau presentasi obyek berbasis 3D. 
  5. Software Blender adalah perangkat lunak pencipta animasi 3D dengan kemampuan yang powerfull dan tidak berbayar  


  Tugas  

  1. Carilah 4 tayangan yang mengomunikasikan sebuah produk. Amatilah bagian mana dari tayangan tersebut yang disampaikan dengan bantuan simulasi visual animasi! 
  2. Dari tayangan yang telah anda dapat, kelompokkanlah mana yang termasuk animasi 2d dan animasi 3d? kemudian presentasikan secara berkelompok!  


D. Tes Formatif 
Jawablah pertanyaan di bawah ini. Apabila ada pertanyaan yang belum bisa Anda jawab, bacalah kembali uraian di atas!
1. Jelaskan pengertian dari Simulasi Visual!
2. Jelaskan fungsi dan tujuan simulasi visual!
3. Jelaskan jenis dari Simulasi Visual!
4. Berikan contoh simulasi visual yang Anda ketahui! Minimal 3?
5. Sebutkan platform pembuat visualisasi 3D, selain Blender!
Sudahkah Anda menguasai seluruh materi di atas? Bila belum, bacalah kembali uraian materi.


E. Lembar Jawaban Tes Formatif 
1. Fungsi dan tujuan simulasi visual adalah
...................................................................................................................   ...................................................................................................................  ...................................................................................................................
2. Contoh simulasi visual yang saya ketahui adalah
 ...................................................................................................................
 ...................................................................................................................
 ...................................................................................................................
3. Platform pembuat visualisasi 3D, selain Blender adalah
 ...................................................................................................................
  ...................................................................................................................
 ...................................................................................................................


Kegiatan Belajar 22: 
Proses Pembuatan Simulasi Visual - Tahap  Praproduksi: Ide, Gagasan, Premis 

A. Tujuan Pembelajaran 
Setelah mengikuti pembelajaran, siswa mampu:

  1. Menemukan ide membuat benda pakai atau benda kerja atau menemukan proses/cara kerja baru; 
  2. Merumuskan gagasan/konsep produk, dan 
  3. Merumuskan premis pembuatan simulasi visual. 


B. Uraian Materi 
Anda telah mempelajari materi Presentasi Video pada Buku Simulasi Digital Jilid I. Bacalah kembali semua materi yang terkait dengan ide atau gagasan, pada buku tersebut, Presentasi Video Kegiatan Belajar 14. 
Dalam kehidupan keseharian, Anda tidak pernah lepas dari masalah. Anda memerlukan solusi untuk mengatasi masalah tersebut. Ketika Anda harus memotong rumput, misalnya, Anda memerlukan benda kerja berbentuk gunting rumput atau pemotong rumput bertenaga listrik.  
Pengamatan Kasus 1 
Seandainya di rumah Anda sudah tersedia gunting rumput, Anda harus memastikan bahwa gunting rumput tersebut siap untuk Anda gunakan melaksanakan pekerjaan Anda. Dalam hal Anda mendapati gunting rumput tersebut tumpul, Anda harus mengasahnya terlebih dahulu agar menjadi tajam dan siap digunakan, artinya Anda sudah membuat gunting rumput tersebut berfungsi kembali. Dari pengalaman beberapa kali mengasah gunting rumput, mungkin Anda menemukan cara mengasah yang paling efektif. Hanya dengan beberapa kali menggesekkan bilah gunting tersebut pada batu asah, Anda sudah mendapatkan ketajaman gunting rumput seperti yang Anda kehendaki. Anda pastikan bahwa cara Anda mengasah gunting rumput, berbeda dari cara orang yang lain mengasah benda yang sama. Dalam hal ini Anda telah menemukan cara bekerja baru untuk mengasah gunting rumput, namun tidak merusak benda tersebut. 

Pengamatan Kasus 2 
Seandainya di rumah Anda sudah tersedia gunting rumput yang tajam, tetapi salah satu kayu pegangan lepas dan hilang, akankah Anda diam dan tidak melanjutkan pekerjaan? Akankah Anda gunakan benda tersebut seadanya meskipun Anda merasa tidak nyaman menggunakannya, sehingga proses bekerja Anda menjadi lebih lama?  
Anda dapat mencari kayu lain dan membuatnya dengan meniru bentuk kayu pegangan tersebut agar nyaman dipakai. 

Pengamatan Kasus 3 
Seandainya di rumah Anda tidak tersedia gunting rumput, yang ada hanyalah gunting besar (mungkin gunting kertas atau gunting kain) yang sudah tidak digunakan lagi. Tidak tergerakkah Anda untuk memanfaatkannya, memodifikasi dengan melapisi pegangannya dengan perca kain agar nyaman digunakan? 

Pengamatan Kasus 4 
Seandainya di rumah Anda tidak tersedia gunting rumput dan Anda mengetahui bahwa gunting rumput diperlukan oleh banyak orang, tidakkah Anda tergerak untuk membuatnya? Setidaknya Anda dapat membuat rancangan/desain gunting rumput yang bentuk, bahan, ukuran, fungsi, bahkan warnanya sesuai dengan keperluan dan selera Anda dan orang banyak. Anda dapat meningkatkan kecepatan bekerja, ketepatan, dan kenyamanan gunting rumput bila dibandingkan dengan gunting rumput yang ada. Bahkan Anda juga dapat memastikan bahwa harga gunting rumput yang Anda buat lebih murah dari harga gunting rumput yang sudah tersedia di pasaran. 
Sesudah Anda membaca Pengamatan Kasus 1 sampai dengan 4 di atas, Anda dapat menyimpulkan adanya masalah justru mendorong seseorang mencari ide untuk mengatasinya. Semua benda buatan manusia, apa saja baik benda pakai maupun benda hias, dibuat untuk mengatasi masalah, baik yang dihadapi seseorang maupun banyak orang.  
Pencetus ide memikirkan pembuatan, terutama, benda pakai, berdasarkan fungsi benda. Fungsi inilah yang akan mempengaruhi bentuk benda. 
Selanjutnya hal tersebut akan mempengaruhi ukuran dan kekuatan. Hal berikutnya yang dipikirkan pencetus ide, terutama untuk benda kerja adalah kecepatan, ketepatan, dan kenyamanan/kenikmatan. Kenyamanan/ kenikmatan terkait dengan dua hal yaitu kenyamanan/kenikmatan pemakaian benda dan kenyamanan/kenikmatan tampilan. Kenikmatan tampilan ini akan mempengaruhi rancangan tampilan benda yang meliputi antara lain keserasian bentuk keseluruhan, keluwesan bentuk (ergonomis), dan warna.  Pencetus ide pembuatan benda pakai harus juga memperhatikan ukuran manusia (antropometri) pada umumnya atau ukuran bagian tubuh. Contoh nyata pertimbangan antroprometris adalah tinggi dudukkan pada kursi bagi pengguna Asia secara rata-rata dibuat lebih rendah dari pada tinggi dudukan kursi bagi pengguna bangsa lain. 
Pertimbangan pencetus ide pembuatan benda seni berbeda dengan pertimbangan pencetus pembuatan benda pakai. Pertimbangan pembuatan benda seni tidak dimasukkan dalam buku ini. 
Kembali pada materi terkait dengan benda pakai berdasarkan pengamatan di atas. 
Ketika Anda sampai pada kesimpulan harus mengasah gunting rumput, atau menemukan cara baru mengasah gunting rumput, atau membuat pegangan tangan dari kayu sebagai pengganti pegangan yang hilang, atau memodifikasi benda lain menjadi gunting rumput, atau membuat gunting rumput, berarti Anda sudah menemukan ide sebagai solusi mengatasi masalah Anda. Membuat gunting rumput adalah salah satu ide. 
Dalam membuat benda pakai, masalah Anda belum selesai. Gunting rumput yang bagaimana yang akan Anda buat?

Ada beberapa pilihan jenis gunting rumput yang akan Anda buat, antara lain:

  1. Gunting rumput besar yang mampu menggunting rumput dengan cepat pada area yang luas; 
  2. Gunting rumput yang hanya sekali-sekali digunakan untuk merapikan rumput yang tingginya tidak sama; 
  3. Gunting rumput yang mampu juga untuk memotong ranting kecil di pekarangan rumah. 


Fungsi tersebut sudah khusus. Kekhususan fungsi tersebut akan mempengaruhi bentuk ukuran, bahan (terkait dengan kekuatan alat dan penggunanya), bahkan keindahan tampilan termasuk warna. 
Meskipun sama idenya, membuat gunting rumput, tetapi ketika sudah memiliki kekhususan yang berakibat pada pertimbangan fungsi, bentuk, ukuran, dan sebagainya, Anda sudah sampai pada tahap menemukan konsep produk. Anda perhatikan, banyak jenis benda pakai yang sama, namun karena diperuntukkan bagi wanita, produk tersebut diberi warna yang menarik perhatian dan menjadi kesukaan wanita pada umumnya.   
Dalam proses pembuatan presentasi video dan simulasi visual, masih ada satu tahapan lagi yang terkait dengan ide dan konsep produk, yaitu Anda harus merumuskan pesan atas ide yang Anda temukan, yang ingin Anda komunikasikan melalui tayangan simulasi visual tersebut. Anda harus merumuskan pesan tersebut dalam satu kalimat pendek. Rumusan pesan inilah yang disebut dengan PREMIS.  
Karena premis merupakan pesan yang dikomunikasikan, seluruh tayangan harus mendukung agar pesan tersebut terkomunikasikan dengan baik, bukan sekadar disampaikan. Tayangan harus mencerminkan isi premis tersebut. Pesan pada tayangan yang mengomunikasikan temuan ide baru akan berbeda dengan pesan pada tayangan yang mengiklankan temuan ide baru tersebut agar dibeli orang. Isi tayangan yang mengomunikasikan produk hasil temuan ide baru, yang secara rinci akan menjelaskan cara pembuatan atau cara baru dalam bekerja akan berbeda dengan isi tayangan yang mengiklankan produk baru tersebut agar dibeli orang, yang lebih menekankan tempat dan cara produk tersebut dapat diperoleh. 
Anda dapat menyimpulkan bahwa premis akan mempengaruhi tujuan dan pembuatan isi tayangan tersebut. Dalam kehidupan keseharian Anda akan menjumpai cara bekerja dengan langkah kerja tertentu yang sudah dirumuskan. Berdasarkan pengalaman Anda, mungkin Anda menemukan langkah kerja yang efektif, yang akan mempercepat waktu kerja atau meningkatkan ketepatan hasil kerja. Banyak alat berbentuk benda kerja atau bahan kerja atau perangkat lunak pada komputer yang mampu mengurangi langkah kerja untuk mempercepat waktu kerja.  
Anda dapat menemukan cara baru dalam bekerja, dikaitkan dengan benda kerja atau bahan kerja atau perangkat lunak sebagai solusi atas masalah dalam pekerjaan. Anda dapat menjadikan cara baru tersebut sebagai ide. 
 Rangkuman  


  1. Adanya masalah mendorong seseorang mencari ide untuk mengatasinya. 
  2. Fungsi akan mempengaruhi bentuk benda. 
  3. Benda kerja harus memperhatikan kecepatan, ketepatan, dan kenyamanan/kenikmatan  
  4. Kenyamanan/kenikmatan terkait dengan pemakaian benda dan tampilan. Kenikmatan tampilan ini akan mempengaruhi tampilan benda yang meliputi antara lain keserasian bentuk keseluruhan, keluwesan bentuk (ergonomis), dan warna.  
  5. Benda pakai harus juga memperhatikan ukuran manusia (antropometri) pada umumnya atau ukuran bagian tubuh. 
  6. Ketika Anda sudah memikirkan kekhususan yang berakibat pada pertimbangan fungsi, bentuk, ukuran, dan sebagainya, berarti Anda sudah menemukan konsep produk. 
  7. Rumusan pesan yang akan disampaikan disebut premis

C. Tugas

  1. Temukan masalah yang Anda hadapi dalam kehidupan keseharian. Rumuskan masalah tersebut. Carilah beberapa kemungkinan pemecahan masalahnya. Pilih salah satu pemecahan masalah yang Anda temukan sebagai sebuah ide. Konsultasikan ide Anda kepada Bapak/Ibu Guru yang terkait dengan ide Anda! 
  2. Guru mencari studi kasus kondisi sekitar sekolah (pertanian, kehutanan, dll atau program sutdi sekolah) 
  3. Kembangkan ide Anda sampai Anda menemukan konsep produk! 
  4. Rumuskan premis dari ide Anda tersebut. Rancanglah isi tayangan yang akan Anda buat! 


D. Tes Formatif 
Sudahkah Anda membaca dan memahami uraian materi pada kegiatan belajar ini?

  1. Dalam pembuatan benda pakai, dikenal adanya prinsip Form Follows Function. Temukan pada uraian materi, bagian manakah pada uraian materi yang mencerminkan prinsip tersebut? 
  2. Jika Anda belum mampu membuat benda pakai baru yang belum dibuat orang, maka modifikasi juga dapat dijadikan ide untuk mengatasi masalah. Hal-hal apa sajakah yang dapat dimodifikasi, dan sebutkan masalah yang mendorong penemuan modifikasi tersebut! 
  3. Apakah konsep produk yang berbeda mampu menaikkan harga jual produk tersebut? Jelaskan dengan contoh hasil pengamatan Anda! 
  4. Bandingkan 3 hal berikut: ide, konsep produk, dan premis! 


Jika Anda belum dapat mengerjakan tes formatif ini, maka bacalah kembali uraian materi!

E. Lembar Jawaban Tes Formatif 
1. Prinsip Form Follows Function tecermin pada ungkapan
 ........................................................................................................................
 ........................................................................................................................
 ........................................................................................................................
2. Hal-hal yang dapat dimodifikasi adalah (fungsi, bentuk, tujuan, jenis dll)
 ........................................................................................................................   ........................................................................................................................

 ........................................................................................................................
3. Hasil pengamatan konsep produk yang berbeda mampu menaikkan harga jual produk, karena
 ........................................................................................................................   ........................................................................................................................
4. Perbandingan ide, konsep produk dan premis
 ........................................................................................................................   ........................................................................................................................


Kegiatan Belajar 23:  
Proses Pembuatan Simulasi Visual - Tahap Praproduksi: Sinopsis dan Storyboard 

A. Tujuan Pembelajaran 
Setelah mengikuti pembelajaran, siswa mampu :
• membaca sinopsis dan mengungkapkan kembali sinopsis;
• membaca dan memahami storyboard; dan • membuat storyboard.

B. Uraian Materi 
1. Sinopsis
Sinopsis merupakan alur cerita yang dijelaskan secara singkat. Dalam pembahasan ini sinopsis mengarah pada alur cerita film atau animasi yang dijelaskan dalam tulisan singkat sehingga penonton mampu memahami isi cerita yang disampaikan dalam film. 
Dalam contoh lain sinopsis juga dapat dijelaskan sebagai ringkasan cerita yang digunakan untuk mengarahkan penulis cerita agar mampu dipahami oleh penonton. Sinopsis berguna sebagai garis besar alur cerita yang nantinya dapat dikembangkan dalam panduan bahasa visual. Sinopsis yang baik mampu menjelaskan cerita secara utuh. Dalam pembuatan sinopsis keindahan gaya bahasa, penjelasan secara rinci kejadian dalam alur cerita  disusun dengan menggunakan bahasa yang lugas sehingga tidak menimbulkan bias makna. 
Tujuan dibuatnya sinopsis adalah untuk memberikan informasi terpenting dalam sebuah rangkaian cerita film atau animasi. Biasanya sinopsis hanya dibuat satu hingga dua halaman saja. 
2. Storyboard
Storyboard adalah sketsa gambar berbentuk thumbnail yang disusun berurutan sesuai dengan rangkaian jalan cerita. Dengan storyboard siswa dapat mewujudkan sinopsis dalam bentuk gambar kepada orang lain dengan lebih mudah, untuk kepentingan usulan ataupun penjelasan kepada pihak lain. 
Tahapan penting dalam produksi  film atau produksi simulasi visual adalah membuat storyboard, setelah alur cerita selesai tahapan berikutnya membahas adegan untuk  menterjemahkan gagasan dari tekstual dalam gambar. Dalam membuat storyboard, kita perlu menggunakan cara seolah-olah membidik objek sesuai dengan gagasan yang akan disampaikan dengan mempertimbangkan angle camera atau pertimbangan sinematografis lainnya. Misalkan jika Anda akan menunjukkan sesuatu yang rinci maka perlu bidikan closeup.  
Fungsi storyboard adalah sebagai konsep dan ungkapan kreatif, untuk menyampaikan pesan dan gagasan secara visual.  Pada storyboard dapat ditambahkan arahan audio, serta informasi lain berupa huruf dan warna serta tata letak  sehingga  pesan dan gagasan dapat diterima. 
Untuk membuat storyboard yang bagus Anda perlu berlatih menggambarkan tayangan yang diinginkan dalam gambar sketsa. 
Dalam comercial project tertentu, pembuat stroryboard memerlukan keterampilan menggambar dan mampu membuat berbagai gambar sesuai arahan sutradara.  
Untuk mempermudah membuat storyboard, Anda dapat membaginya dalam point-point rencana adegan secara kasar sebagai dasar panduan. Untuk membuat ilustrasi adegan, storyboard dapat ditambah catatan berupa teks atau kalimat yang menggambarkan tiap adegan dalam panel storyboard.  
Dalam pembuatan storyboard yang sederhana Anda perlu membuat sketsa alur visual sesuai dengan style gambar yang Anda kuasai. 
Bentuk panel storyboard tidak ada yang baku namun pada umumnya berupa gambar thumbnail disusun secara horisontal atau vertikal yang dilengkapi dengan arahan visual berupa catatan, efek, durasi, no panel, nomor background, dan nomor scene. 

C. Rangkuman

  1. Sinopsis merupakan alur cerita yang dijelaskan secara singkat.  
  2. Storyboard adalah sketsa gambar berbentuk thumbnail yang disusun berurutan sesuai dengan rangkaian jalan cerita. 
  3. Outline Storyboard adalah thumnail storyboard yang digambarkan dengan lebih jelas dilengkapi dengan arahan gerakan objek dalam cerita.  

 Tugas

  1. Carilah sebuah artikel ilmiah dari koran kemudian buatlah sinopsisnya! 
  2. Amatilah sebuah storyboard yang diunduh dari internet kemudian temukan jenis bidikan kamera pada setiap adegan! 
  3. (Bidikan kamera dapat di pelajari pada materi presentasi video) 
  4. Buatlah storyboard berdasarkan outline alur cerita yang telah anda buat! 

D. Tes Formatif 
Jawablah pertanyaan dibawah ini! Apabila ada pertanyaan yang belum bisa Anda jawab, bacalah kembali uraian di atas!
1. Jelaskan pengertian sinopsis dan tujuan dibuatnya sebuah sinopsis!
2. Jelaskan pengertian dan fungsi storyboard!
3. Tuliskan langkah-langkah membuat storyboard!

Jika Anda belum dapat mengerjakan tes formatif ini, maka bacalah kembali uraian materi !

E. Lembar Jawaban Tes Formatif  
1. Pengertian dan tujuan sinopsis adalah
 ........................................................................................................................
 ........................................................................................................................
 ........................................................................................................................
2. Pengertian dan fungsi storyboard
 ........................................................................................................................   ........................................................................................................................
 ........................................................................................................................
3. Langkah-langkah pembuatan storyboard  (Runtutan sinopsis dan bidikan kamera)
 ........................................................................................................................
 ........................................................................................................................   ........................................................................................................................

Rabu, 11 November 2015

POINTER

 Pointer

Pointer adalah variable yang berisi alamat memory sebagai nilainya dan berbeda dengan variable biasa yang berisi nilai tertentu. Dengan kata lain, pointer berisi alamat dari variable yang mempunyai nilai tertentu.

Dengan demikian, ada variabel yang secara langsung menunjuk ke suatu nilai tertentu, dan variabel yang secara tidak langsung menunjuk ke nilai.
Adapun bentuk umum dari pernyataan variabel pointer dalam C++ adalah :

Type *variabel-name

Dengan :
  • Type adalah tipe dasar pointer
  • Variabel name adalah nama variabel pointer
  • * adalah variabel pada alamatnya yang ditentukan oleh operand.

Contoh :
          Int *int_pointer;          // pointer to integer
          Float *float_pointer;    // pointer to float

Contoh :

//Program : pointer.cpp                   
#include <stdio.h>

main()
{
            int a, *b;
            a=20;
            b=&a;
                        printf (" Pointer b menunjukkan alamat =%p\n",b);
                        printf (" Alamat tersebut berisi nilai :%d\n",*b);
 }

//Program : pointer1.cpp
#include <iostream .h>

// cetak p dan *p
void main(void)
{
int v = 7, *p;
p = &v;
cout << " Nilai v = " << v << " dan *p = " << *p
<< "\nAlamatnya = " << p << '\n';
}

Bila program diatas dijalankan, maka hasilnya adalah sebagai berikut :
          Nilai v = 7 dan *p = 7
          Alamatnya = efffb24




//Program:pointer2.cpp
#include <iostream.h>

int main ()
{
int value1 = 5, value2 = 15;
int * mypointer;

mypointer = &value1;
*mypointer = 10;
mypointer = &value2;
*mypointer = 20;
cout << "value1==" << value1 << "/ value2==" << value2;
return 0;
}

Bila program diatas dijalankan, maka hasilnya adalah sebagai berikut :
          “value1==” 10 << “/ value2==20

 

OPERATOR POINTER


Ada beberapa operator yang bisa digunakan dalam pointer. Operator tersebut adalah operator alamat (yang dilambangkan dengan simbol &) dan operator unary yang mengembalikan alamat dari operandnya.

Sebagai contoh, diasumsikan deklarasi sebagai berikut :
          Int y = 5;
          Int *yPtr;

Maka pernyataan :
          YPtr = &y;

Pernyataan ini mengandung arti bahwa alamat dari variabel y ditujukan kepada variabel pointer yPtr.

Contoh lain :
          Int balance, value;
          Int *balptr;
          Balance = 3200;      // step 1
          Balptr=&balance;    // step 2
          Value=*balptr;        // step 3

Contoh diagram :


Step 1


Step 2


Step 3










12

Balptr
12
100
Balptr
12
100
Balptr









100
3200
Balance
100
3200
Balance
100
3200
Balance









130

value
130

value
130
3200
value












Contoh :

//Program:pointer3.cpp
#include <iostream.h>

int main()
{
int *ptr, num;              // Step 1
ptr = &num;                // Step 2
*ptr = 100;                  // Step 3
cout << num << " ";
(*ptr)++;                      // Step 4
cout << num << " ";
(*ptr)*=2;                    // Step 5
cout << num << "\n";
return 0;
}

Bila program dijalankan :
          100  101  202

Contoh diagram :


Step 1


Step 2


Step 3


Step 4


Step 5
















12
*int
Ptr
12
50
Ptr
12
50
Ptr
12
50
Ptr
12
50
Ptr















50
int
num
50
int
num
50
100
num
50
101
num
50
202
num
















...


...


...


...


...



















EKSPRESI POINTER

Pointer Aritmatika


Hanya 4 operator aritmatik dapat digunakan pada pointer ++, = =, +, dan -. Asumsi integer 32 bit.

Contoh :
          Int *p1;
          p1++;
          p1--;

Contoh :

//Program:pointer4.cpp
#include <iostream.h>

int main()
{
int i[10], *i_ptr;
double f[10], *f_ptr;
int x;
i_ptr = i; // i_ptr points to first element of i
f_ptr = f; // f_ptr points to first element of f
for(x=0; x<10; x++)
cout << i_ptr+x << " " << f_ptr+x << "\n";
return 0;
}

Bila program dijalankan :
          0xeffffd9c     0xeffffd48
          0xeffffda0     0xeffffd50
          0xeffffda4     0xeffffd58
0xeffffda8     0xeffffd60
...                ...

Pointer Perbandingan

Pointer dapat dibandingkan dengan menggunakan operator hubungan, seperti !=, ==, <, dan >.

Contoh :

//Program:pointer5.cpp
#include <iostream.h>

int main()
{
int num[10];
int *start, *end;
start = num;
end = &num[9];
while(start != end) {
cout << "Masukkan bilangan sebanyak 9 data : ";
cin >> *start;
start++;
}
return 0;
}

Data yang akan dimasukkan sebanyak 9 buah data dan program tidak akan berhenti apabila belum sampai 9 buah data.

POINTER VERSUS ARRAY

Array dan pointer adalah dua struktur data yang saling berkaitan satu dengan yang lain dalam C, dan dapat saling dipertukarkan penggunaannya. Karena array dapat didefinisikan sebagai pointer.

Contoh :
          int *bPtr, b[5];

Dapat dibuat menjadi :
          bPtr = b;
          bPtr = &b[0];

Berarti bPtr ditugaskan untuk menunjukkan ke alamat elemen pertama dari array b atau b[0].
Elemen array b[3] dapat ditulis :
          * (bPtr + 3)
Alamat &b[3] dapat ditulis :
          bPtr +3
Deklarasi suatu variabel array x[] yang berisi nilai int dapat ditulis :
          int *x;
Variabel array ganda dapat ditulis :
          int y [ ] [ ];
          int *y [ ];
          int *( *y);
Penggunaan pointer dan array untuk deklarasi variabel array ganda untuk menyimpan empat buah elemen yang masing-masing bertipe string (array dari karakter).
          char *suit [4] = { “Hearts”, “Diamonds”, “Clubs”, “Spades” };

Contoh :

//Program:pointer6.cpp
#include <iostream.h>
#include <stdio.h>

int main()
{
char str[80];
char token[80];
char *str_ptr, *tk_ptr;
cout << "Masukkan sebuah kalimat : ";
gets(str);
str_ptr = str;

while(*str_ptr) {
tk_ptr = token;

while( *str_ptr != ' ' && *str_ptr ) {
*tk_ptr = *str_ptr;
tk_ptr++;
str_ptr++;
}
if(*str_ptr) str_ptr++;
*tk_ptr = '\0';
cout << token << endl;
}
return 0; }

//Program:pointer7.cpp
#include <iostream.h>
#include <stdio.h>

int main()
{
char str[80];
char token[80];
int i, j;
cout << "Masukkan sebuah kalimat: ";
gets(str);

for(i=0; ; i++) {
for(j=0; str[i] != ' ' && str[i]; j++, i++)
token[j] = str[i];
token[j] = '\0';
cout << token << '\n';
if(!str[i]) break;
}
return 0;
}

Pada contoh program pointer 6 adalah program dengan pointer, sedangkan contoh program pointer 7 dengan menggunakan array. Hasil dari kedua program tersebut sama.

POINTER INDEX

Pointer tidak hanya dapat digunakan untuk mengakses elemen array, tetapi pointer juga dapat diindex seperti pada array.

Contoh :

//Program:pointer8.cpp
#include <iostream.h>
#include <ctype.h>

int main()
{
char str[20] = "hello tom";
char *p;
int i;
p = str;
for(i=0; p[i]; i++)
p[i] = toupper(p[i]);
cout << p;
return 0;
}

Bila program diatas dijalankan, maka hasilnya adalah sebagai berikut :
HELLO TOM

Proses pengindexan pointer dapat dilihat pada variabel p yang menunjuk pada variabel str yang berisi data nama dengan panjang 20. Fungsi toupper memperjelas proses pengindexan.

KONSTANTA STRING DAN POINTER

Konstanta string terlihat dalam program teks dan disimpan dalam tabel string serta setiap entry dalam tabel string, pointer string dibangkitkan.

Contoh :

//Program:pointer9.cpp
#include <iostream.h>
int main()
{
char *s;
s = "Pointers are fun to use.\n";
cout << s;
return 0;
}

Bila program diatas dijalankan, maka hasilnya adalah sebagai berikut :
          Pointers are fun to use.

ARRAY POINTER

Pointer dapat diarraykan seperti tipe data yang lain dalam C++. Untuk menyatakan sebuah array pi dari pointer sebanyak 10 buah data yang bertipe 10 integer, dapat ditulis :
          int *pi [10];
Untuk menentukan alamat dari variabel integer disebut var ke elemen ketiga dari pointer array, dapat ditulis :
          int var;
          pi [2] = &var

Contoh :

//Program:point10.cpp
#include <iostream.h>

int main ()
{
int numbers[5];
int *p;
p = numbers;  *p = 10;
p++;  *p = 20;
p = &numbers[2];  *p = 30;
p = numbers + 3;  *p = 40;
p = numbers;  *(p+4) = 50;
for (int n=0; n<5; n++)
cout << numbers[n] << ", ";
return 0;
}

Bila program diatas dijalankan, maka hasilnya adalah sebagai berikut :
          10, 20, 30, 40, 50,

POINTER DALAM POINTER


C++ memperbolehkan penggunaan pointer dalam pointer yang berisi data yang sama atau berbeda. Dalam kondisi pointer biasa atau pointer tunggal, diagramnya adalah :

                Pointer                    Variabel


value
 
address
 




Untuk pointer dalam pointer, diagramnya adalah :

value
 
                Pointer                    Pointer                    Variabel
address
 







address
 




Contoh :
          char a;
          char *b;
          char **c;
          a = ‘z’;
          b = &a;
          c = &b;

Dengan misal data acak pada memori 7230, 8092, dan 10502, maka diagramnya adalah :

8092
 
                     a                             b                             c
7230
 







‘z’
 



                  7230                         8092                        10502

Dari diagram dapat disimpulkan :
·         c adalah sebuah variabel dengan tipe (char**) yang berisi 8092
·         *c adalah sebuah variabel dengan tipe (char*) yang berisi 7230
·         **c adalah sebuah variabel dengan tipe (char) yang berisi ‘z’

Contoh :

//Program:point12.cpp
#include <iostream.h>
#include <stdio.h>
#include <string.h>

int main()
{
int x, *p, **q;
x = 10;
p = &x;
q = &p;
cout << **q; // prints the value of x
return 0;
}

Bila program diatas dijalankan, maka hasilnya adalah sebagai berikut :
          10