Pages

Sabtu, 28 Januari 2012

Windows Vista

"Vista" beralih ke halaman ini. Untuk kegunaan lain dari Vista, lihat Vista (disambiguasi).

Windows Vista
(Bagian dari keluarga Microsoft Windows)

Tampilan

Tampilan Layar dari Windows Vista Ultimate
Pengembang
Microsoft
Situs web: Official website
Informasi keluaran
Tanggal dikeluarkan:    RTM: November 8, 2006;
Vol. Lic.: November 30, 2006;
Retail: January 30, 2007 info

Versi terkini:     6.0 Service Pack 2 (SP2) (Build 6002)
(6002.18005.090410-1830[1])
, April 28, 2009; 2 tahun lalu info

Model sumber:    Closed source / Shared source[2]

Lisensi:
MS-EULA

Kernel type:
Hybrid

Metode pemutakhiran:    Windows Update, Windows Server Update Services, SCCM

Dukungan platform:    IA-32, x86-64

Status dukungan
Mainstream support
Windows Vista adalah sistem operasi berbasis grafis dari Microsoft yang digunakan pada komputer pribadi (PC), baik untuk pengguna rumahan maupun bisnis, pada komputer laptop, maupun media center.
Sebelum diumumkan dengan nama Windows Vista pada 22 Juli 2005, sistem operasi ini lebih dikenal dengan codename Longhorn (berasal dari nama Longhorn Saloon, sebuah bar terkenal di Whistler, British Columbia, Kanada).
Microsoft meluncurkan Windows Vista pada 8 November 2006 untuk pengguna bisnis, dan 30 Januari 2007 untuk pengguna rumahan. Dengan demikian, peluncuran Windows Vista ini berjarak lebih dari lima tahun sejak peluncuran Windows XP pada 25 Oktober 2001.
•   
Pembangunan
Microsoft pertama kalinya mengumumkan "Longhorn" pada bulan Juli 2001, bahkan sebelum peluncuran Windows XP pada bulan Oktober tahun yang sama. Pada awalnya, Longhorn diharapkan untuk mulai dijual pada kisaran tahun 2003 sebagai batu loncatan di antara Windows XP dan "Blackcomb" (sekarang dikenal sebagai "Windows 7"). Secara bertahap, "Longhorn" nyatanya dibangun dengan banyak fitur-fitur dan teknologi baru dari "Blackcomb", sehingga tanggal peluncurannya pun berkali-kali diundur. Microsoft kemudian mengumumkan pada 27 Agustus 2004 bahwa Perusahaan itu melakukan perubahan yang signifikan. Pembangunan "Longhorn" diulang kembali dan didasarkan pada basis program Windows Server 2003. Beberapa fitur yang sebelumnya diumumkan, seperti WinFS, pun dibatalkan.
Setelah "Longhorn" dinamai menjadi Windows Vista, sebuah uji-beta program dimulai, melibatkan ratusan ribu sukarelawan dan perusahaan. Pada September 2005, Microsoft mulai meluncurkan Community Technology Previews (CTP) secara reguler bagi para penguji-beta. Rilis yang pertama adalah build 5219, didistribusikan bagi undangan yang hadir pada Microsoft Professional Developers Conference (PDC) 2005, dan juga dirilis bagi para penguji Microsoft Beta dan para pelanggan MSDN.
Dalam CTP-CTP berikutnya, Microsoft telah memperkenalkan banyak rencana-rencana fitur untuk produk finalnya, seperti sejumlah perubahan untuk antarmuka pengguna, yang didasarkan dari usulan balik dari para penguji-beta.
Windows Vista dianggap telah memiliki fitur yang lengkap dengan peluncuran build 5308 CRT, yang dirilis pada 22 Februari 2006. Pekerjaan yang menunggu para programer Microsoft hingga tanggal akan dirilisnya versi final nanti cenderung difokuskan pada stabilitas, kinerja, kompatibilitas aplikasi dan driver, serta dokumentasi.
James Allchin dalam sebuah wawancara menyatakan bahwa tidak akan ada versi "Release Candidate" (RC) seperti yang dilakukan pada versi-versi Windows yang sebelumnya. Microsoft sebaliknya hanya akan mengirimkan CTP hingga produk tersebut siap dipasarkan. Hanya saja dalam peluncuran Windows Vista Beta 2 bagi para penguji pada 23 Mei 2006, dan untuk umum pada 7 Juni 2006 melalui Microsoft's Customer Preview Program (bisa diunduh langsung ataupun dengan memesan DVD), Microsoft memberikan petunjuk bahwa akan ada release candidate untuk Windows Vista dengan menjanjikan sebuah Release Candidate 1 DVD kit untuk yang memesan DVD Beta 2.
Dalam roadmap Microsoft tampaknya rencana untuk tanggal rilis ke pabrikan adalah pada atau sebelum 25 Oktober 2006.
Fitur-fitur yang baru dan diperbaharui
Windows Vista memiliki daftar panjang untuk ratusan fitur-fitur baru, fitur-fitur yang diubahkan, dan fitur-fitur yang ditingkatkan kemampuannya. Pada saat ini daftar fitur-fitur tersebut belum dipublikasikan secara lengkap oleh Microsoft. Namun demikian, berbagai fitur yang akan dimasukkan ke dalam Windows Vista tersebut sudah mulai diperkenalkan melalui beberapa publikasi.
Fitur-Fitur End-User
•    Windows Aero: desain baru antarmuka pengguna, singkatan dari Authentic, Energetic, Reflective, and Open. Antarmuka baru ini dimaksudkan agar lebih estetis dan bersih ketimbang tantarmuka Windows sebelumnya, termasuk jendela-jendela transparan, animasi, dan tampilan yang bagus. Animasi pada Windows Aero dapat nampak pada saat aplikasi ditutup, diminimalisasikan, dimaksimalisasikan, dan juga pada tombol rekomendasi.
•    Windows Shell: Windows shell yang baru ini berbeda sekali dengan Windows XP. Sebagai contoh, Start Menu yang telah diubah, bahkan kata "Start" pun telah digantikan dengan tombol Windows "Pearl" biru yang baru.
•    Fasilitas Pencarian (Quick Search):
•    Windows Sidebar:
•    Internet Explorer 7+:
•    Windows Media Player 11:
•    Windows Media Center:
•    Windows Live Show :
•    User Account Control:
•    Windows Firewall With advanced security:
•    Windows Defender:
•    Windows Mail:
•    Windows Update:
•    Parental Control:
•    Windows Sideshow:
•    Speech recognition:
•    New Fonts:
•    Games:
•    Windows Calendar:
•    Windows Photo Gallery:
•    Windows DVD Maker:
•    Windows Collaboration:
•    SuperFetch:
•    ReadyBoost:
•    ReadyDrive:
•    Touchscreen:
•    Problem Reports and Solutions:
•    Virtual Folder:
Teknologi Inti
Windows Vista dimaksudkan untuk diluncurkan sebagai produk berbasis-teknologi, sebagai sistem yang solid yang mencakup teknologi-teknologi baru tingkat tinggi. Banyak di antaranya merupakan teknologi yang berkaitan dengan bagaimana sistem berfungsi, yang bekerja di belakang layar dan tidak terlihat oleh pengguna akhir.
•    Pembangunan ulang seluruh arsitektur audio, print, tampilan layar (display), dan stack jaringan
•    Protokol IPv6 yang juga bekerja bersama dengan IPv4
•    Struktur keamanan baru, termasuk BitLocker Drive Encryption
•    Peningkatan kemampuan memory manager dan process scheduler
•    System services dimasukkan sebagai sesi terpisah dan terisolasi, sementara proses User sebagai sesi yang berbeda.
•    Address Space Layout Randomization (ASLR) untuk mencegah serangan Return-to-libc buffer overflow.
•    Kernel Transaction Manager yang baru memungkinkan operasi transaksi atom melintasi berbagai obyek yang berbeda, terutama sekali sistem file (Transactional NTFS) dan operasi registry.
•    Deadlock Detection Technology merupakan teknologi baru yang akan melakukan pengecekan atas kondisi-kondisi deadlock (kebuntuan sistem) untuk pelaporan error Windows.
Teknologi bagi Developer
.NET Framework 3.0, sebelumnya WinFX, merupakan sebuah set teknologi yang juga ditujukan untuk tersedia bagi Windows XP dan Windows Server 2003. Oleh karenanya teknologi ini bukan merupakan teknologi yang eksklusi hanya untuk Vista, tetapi dirancang selama kurun waktu pembangunan Vista. Alasan agar teknologi ini lebih mudah diperkenalkan ke para developer dan end-user, mungkin menjadi dasar mengapa Microsoft melakukan backport teknologi bagi sistem operasi yang sebelumnya.
Microsoft menyebut teknologi kunci yang baru dalam versi Windows ini sebagai "The Pillars of Vista" (Pilar-Pilar Vista).
•    Presentasi
Windows Presentation Foundation atau WPF, sebelumnya diberi nama-kode Avalon; adalah sebuah sub-sistem antarmuka pengguna yang baru dan merupakan kerangka-kerja yang didasarkan pada teknologi Direct3D (DirectX) dan grafik vektor-kerja sama antara perangkat keras komputer grafik 3D dengan teknologi Direct3D. Lihat juga Windows Graphics Foundation.
•    Komunikasi
Windows Communication Foundation atau WCF, sebelumnya diberi nama-kode Indigo; adalah sistem komunikasi berorientasi-servis (service-oriented messaging system) yang mengijinkan program untuk berinteroperasi secara lokal maupun remote mirip seperti service jejaring (web).
•    Workflow
Windows Workflow Foundation or WF; pertama kali diumumkan pada Agustus 2005, akan mengijinkan transaksi otomatisasi dan terintegrasi dengan menggunakan arus-kerja (workflows).
Selain itu juga ada pembangunan API (Application Program Interface) baru signikan di dalam inti sistem operasi, khususnya penambahan .NET Framework, pembangunan benar-benar baru bagi arsitektur audio, jaringan, pencetakan (print), dan antarmuka video, perubahan besar dalam infrastruktur keamanan, peningkatan bagi instalasi program aplikasi ("ClickOnce" dan Windows Installer 4.0), model baru untuk device driver ("Windows Driver Foundation"), Transactional NTFS, serta pembaruan besar-besaran bagi banyak sub-sistem inti seperti Winlogon dan CAPI.
Ada beberapa isu bagi delevoper perangkat lunak dalam menggunakan API grafik di Vista. Games maupun program-program yang dibangun di atas Direct3D Versi 10 milik Vista, tidak akan bekerja di Windows versi sebelumnya, karena Direct3D 10 tidak kompatibel dengan Direct3D 9.
Fitur XP yang dihilangkan
Beberapa fitur dan komponen Windows XP yang terkenal juga telah digantikan ataupun dihilangkan dari Windows Vista. Mungkin yang paling terlihat signifikan adalah penghilangan Windows Messenger dan MSN Explorer, dan penggantian NetMeeting dengan Windows Collaboration. Windows Vista juga tidak memasukkan tema-visual (visual theme) Windows XP "Luna". Fitur "Hardware profiles" juga telah dihilangkan, diikuti dengan penarikan dukungan untuk teknologi motherboard lawas seperti EISA bus dan APM.
Fitur-fitur yang ditunda/dibatalkan
•    WinFS adalah nama-kode untuk sebuah sistem file baru dengan sifat relational database yang dibangun di atas sistem NTFS dan SQL Server 2005. Pada bulan Agustus 2006, Microsoft mengumumkan bahwa WinFS batal dimasukkan dalam Windows Vista. Hal ini dikarenakan belum selesainya pengembangan teknologi ini. Microsoft telah mengerjakan teknologi ini sejak pertengahan tahun 1990an. Sedianya, Microsoft akan meluncurkan WinFS secara terpisah dari Vista, tapi pada 23 Juni 2006 kembali diumumkan bahwa Microsoft memutuskan untuk mengintegrasikan beberapa dari fitur yang telah dikembangkan ini dalam versi selanjutnya dari ADO.NET dan SQL Server, secara efektif sekaligus membatalkan proyek WinFS.
•    Sehubungan dengan isu penjadwalan, Windows PowerShell, dengan nama-kode Monad juga tidak akan dimasukkan dalam Windows Vista. Namun demikian, Microsoft telah mengumumkan bahwa fitur ini akan tersedia untuk diunduh secara terpisah dalam kuartal keempat 2006.
•    Arsitektur keamanan Next-Generation Secure Computing Base juga diabaikan dari Windows Vista, dikarenakan masih sedikitnya developer pihak-ketiga untuk mendukung sistem ini.
•    Dukungan untuk Intel Extensible Firmware Interface (semacam sistem BIOS baru) juga dibatalkan karena sedikitnya dukungan untuk komputer desktop.
•    PC-to-PC Sync, sebuah teknologi Peer-to-peer untuk sinkronisasi folder antar komputer-komputer yang menjalankan Vista, juga dibatalkan karena masalah kualitas. Kemungkinan teknologi ini tetap akan dikembangkan di masa depan.
Antarmuka grafis
Antarmuka baru Vista, Windows Aero, dibangun di atas sebuah mesin baru yang bernama Desktop Window Manager. Windows Aero, juga dikenal sebagai Aero Glass, menambahkan dukungan untuk grafik 3D (dikenal sebagai Flip 3D), jendela transparan, animasi, dan efek visual lainnya. Windows Aero membutuhkan kartu grafis high-end dan kapasitas perangkat keras seperti:
•    memori grafis 64MB direkomendasikan untuk set layar 1024x768, dan 128MB untuk 1600x1200+.
•    minimal 32 bit per pixel
•    3D hardware accelleration yang mendukung DirectX 9.0
•    memori dengan lebar pita (bandwidth) direkomendasikan 2GB/s
•    mampu menggambar ~1.5 juta segitiga/detik, dengan satu jendela hingga ~150 segitiga
•    mendukung driver Windows Display Driver Model (WDDM).
Vista juga menawarkan model Aero lainnya:
•    Mode Standard, adalah varian Windows Aero tanpa tranparan, animasi, dan efek grafis lainnya seperti Flip 3D.
•    Mode Windows Classic, juga tersedia sebagai antarmuka yang paling dasar. Classic memiliki tampilan yang mirip dengan Windows 2000 dan tidak menggunakan Desktop Composition Engine yang baru. Classic memerlukan driver-driver Windows XP Display Driver Model (XPDM) atau WDDM dan kartu grafis yang mendukung Windows 2000.
Kebutuhan perangkat keras
Menurut Microsoft, komputer yang dapat menjalankan Windows Vista diklasifikasikan sebagai "Vista Capable" dan "Vista Premium Ready"
•    Komputer "Vista Capable" memerlukan minimal prosesor 800MHz, 512MB RAM, dan kartu grafis dengan kelas DirectX 9. Namun klasifikasi ini tidak akan mampu untuk mendukung grafis high-end Vista, termasuk antarmuka Aero.
•    Komputer "Vista Premium Ready" memerlukan setidaknya prosesor 1GHz, 512 MB RAM, dan kartu grafis yang kompatibel dengan antarmuka Aero minimal 128MB serta mendukum WDDM yang baru.


Logo komputer yang siap untuk dipasangi Windows Vista (meski dikonfigurasi untuk Windows XP
Komputer Vista Capable atau sejenis, memerlukan minimal prosesor dengan kecepatan 800 MHz, Memory 512 MB RAM dan kartu grafis yang mendukung DirectX 9. Komputer jenis ini tidak mampu mendukung grafis high-end Vista, termasuk antarmuka Aero. Sebaliknya Komputer Vista Premium Ready dapat mendukung fitur "high-end" Vista tetapi, sedikitnya diperlukan prosesor 1 GHz , memory utama 1 GB, dan kartu grafis yang kompatibel dengan Aero dengan memory minimal 128 MB dan mendukung Windows Display Driver Model yang baru.
    Vista Capable    Vista Premium Ready(32 bit & 64 bit)
Prosesor    800 MHz    1 GHz/Dual Core
Memori    512MB RAM    1 GB RAM
GPU    mendukung DirectX 9    mendukung DirectX 9, dengan Hardware Pixel Shader v2.0, dan driver WDDM
GPU Memory    64 MB RAM    128 MB RAM
HDD    20GB    40GB
Area HDD kosong    15GB    15GB
Perangkat lainnya    CD-ROM, Mouse dan Keyboard PS/2    DVD-ROM, Mouse dan Keyboard PS/2, Speaker untuk multimedia
Edisi-edisi Windows Vista
•    Windows Vista Starter
Mirip seperti Windows XP Starter Edition,edisi ini masih berteknologi 32-bit, edisi ini dibatasi untuk area lokal, terutama sebagai alternatif legal ketimbang penggunaan kopi bajakan. Pengguna edisi ini akan sangat dibatasi pemakaiannya, misalnya hanya bisa untuk memakai tiga program sekaligus dalam satu waktu, pembatasan koneksi jaringan, dan physical memory dibatasi hanya hingga 256MB.
•    Windows Vista Home Basic
Seperti Windows XP Home Edition,dengan teknologi 64-bit, fiturnya juga bertambah banyak. Tetapi tidak sebanyak edisi yang lain, Home Basic ditujukan bagi pengguna rumahan yang tidak memerlukan fasilitas lebih tinggi. Tema "Aero Glass" dengan efek transparan juga tidak akan termasuk dalam Edisi ini. Home Basic hanya mendukung hingga 8GB physical memory.
•    Windows Vista Home Premium
Didasari Windows Vista Home Basic, edisi ini memiliki tambahan dukungan fitur-fitur lebih tinggi yang ditujukan untuk segmen pengguna rumahan, seperti dukungan HDTV dan pembuatan menu DVD. Tambahan lainnya adalah games yang lebih banyak, dukungan untuk komputer tablet dan mobile, sistem enkripsi file, serta aplikasi manajemen foto. Edisi ini mirip dengan Windows XP Media Center Edition dan Tablet PC Edition. Home Premium mendukung hingga 16GB physical memory.
•    Windows Vista Busines
Sebanding dengan Windows XP Professional, dan ditunjukan untuk pengguna bisnis. Fitur Media Center yang ada dalam Home Premium tidak dimasukkan dalam edisi ini, tetapi memiliki fasilitas IIS web server, dukungan faksimili, offline files, dukungan dual physical processor, Remote Desktop, kolaborasi P2P, dan mampu menangani hingga 128GB memori. Aktivasi produk tidak diperlukan untuk edisi ini.
•    Windows Vista Enterprise
Edisi ini ditujukan untuk segmen enterprise, dan merupakan edisi tingkat tinggi dari edisi Business. Fitur-fitur tambahannya di antaranya adalah versi sesi-tunggal dari Virtual PC, dukungan antarmuka multibahasa, BitLocker Drive Encryption, dan dukungan untuk aplikasi UNIX. Edisi ini tidak akan tersedia melalui saluran retail ataupun OEM, melainkan melalui Microsoft Software Assurance.
•    Windows Vista Ultimate
Edisi ini menggabungkan seluruh fitur-fitur Home, Premium, dan Enterprise. Dalam edisi ini juga ditambahkan dukungan pembuatan podcast (yang dialihbahasakan oleh Microsoft menjadi "blogcasting"), program peningkat-kinerja game (WinSAT), fasilitas DVD ripping, dan layanan online khusus untuk media yang dapat diunduh, serta opsi layanan pelanggan tambahan lainnya. Edisi Ultimate ditujukan sebagai edisi Vista yang paling impresif, ditujukan bagi para pengguna high-end, pemain game, para profesional multimedia, serta para pecandu PC. Seperti edisi Business dan Enterprise, aktivasi produk juga tidak diperlukan.
Kritik
Kritik pada Windows Vista meliputi waktu pengembangan yang sangat lama, perjanjian lisensi yang lebih ketat, penambahan beberapa teknologi yang bertujuan membatasi penyalinan media digital terlindungi, dan penggunaan teknologi keamanan User Account Control yang baru. Para peninjau jugs mencatat beberapa kemiripan antarmuka Aero pada Vista dengan sistem operasi milik Apple, Mac OS X, terutama penggunaan efek transisi. Lebih jauh lagi, beberapa orang mempertanyakan komputer personal yang memenuhi persyaratan perangkat keras "Vista Premium Ready" dan harga Vista.
Lisensi
Pengenalan pembatasan lisensi tentang pembeli ritel yang secara legal mentransfer salinan Vista dikritik habis-habisan dan sejak saat itu telah diubah. Sebelumnya, perjanjian lisensi untuk Vista hanya mengizinkan pembeli salinan ritel Vista untuk mentransfer perangkat lunak mereka ke mesin yang baru untuk sekali. Jika seorang pengguna ingin memindahkan perangkat lunaknya untuk kedua kalinya, ia harus menghubungi Microsoft melalui telepon, membuktikan ia memiliki lisensi yang sah, untuk mendapatkan kode untuk mengizinkan perpindahan. Sejak saat itu, Microsoft telah merespon komplain dan memodifikasi EULA menjadi "You may uninstall the software and install it on another device for your use. You may not do so to share this license between devices." (belum ada terjemahan resmi dari Microsoft untuk bahasa Indonesia, namun kurang lebih artinya "Anda dapat meng-uninstal perangkat lunak dan menginstal pada perangkat lain untuk penggunaan pribadi. Anda tidak boleh melakukan ini untuk berbagi lisensi antarperangkat."). Seperti pada Windows XP, aturan-aturan terpisah akan dilakukan untuk versi OEM Vista yang diinstal pada komputer pribadi yang baru; ini tidak dipandang dapat ditransfer secara legal. Harga Windows Vista juga dikritik terlalu tinggi. Kebanyakan pengguna pada sebuah jajak pendapat mengatakan bahwa harga beberapa edisi Windows Vista yang ditulis pada situs Web Microsoft Kanada pada Agustus 2006 membuat harga produk terlalu mahal.
Referensi
1.    ^ "Windows Vista with SP2 RTM Slipstreamed/Integrated DVD ISO Image (BT Download)". Diakses pada 25 Mei 2009.
2.    ^ "Windows Licensing Programs". Microsoft. Diakses pada 21 September 2008.
Pranala luar
•    (Inggris) Microsoft Windows Vista
Microsoft Windows

   
Berbasis MS-DOS
MS-DOS • Windows 1.0 • Windows 2.0 • Windows 2.1x • Windows 3.0 • Windows 3.1x

   
Windows 9x
Windows 95 • Windows 98 • Windows Me

   
Berbasis Windows NT
Windows NT 3.1 • Windows NT 3.5 • Windows NT 3.51 • Windows NT 4.0 • Windows 2000 • Windows XP (edisi) • Windows Server 2003 • Fundamentals for Legacy PCs • Windows Vista (edisi) • Windows Home Server • Windows Server 2008  • Windows 7  • Windows Server 2008 R2

   
Keluarga Windows CE
CE 1.0 • CE 2.0 • CE 3.0 • CE 4.0 • CE 5.0 • CE 6.0 • Mobile

Kamis, 19 Januari 2012

POINTER


1 PENGERTIAN POINTER

Pointer (variabel penunjuk) adalah suatu variabel yang berisi alamat memori dari suatu
variabel lain. Alamat ini merupakan lokasi dari obyek lain (biasanya variabel lain) di dalam
memori. Contoh, jika sebuah variabel berisi alamat dari variabel lain, variabel pertama
dikatakan menunjuk ke variabel kedua
Operator Pointer ada dua, yaitu :
Ø  Operator &
Operator & bersifat unary (hanya memerlukan satu operand saja).
Operator & menghasilkan alamat dari operandnya.
Ø  Operator *
Operator * bersifat unary (hanya memerlukan satu operand saja).
Operator * menghasilkan nilai yang berada pada sebuah alamat.

2 DEKLARASI POINTER


Seperti halnya variabel yang lain, variabel pointer juga harus dideklarasikan terlebih dahulu sebelum digunakan.
Bentuk Umum :
Tipe_data *nama_pointer;

//Contoh9_1
int *px;
char *sh;
Contoh Program :
#include “IOSTREAM.h”
#include “conio.h”
void main()
{ int x, y; /* x dan y bertipe int */
int *px; /* px pointer yang menunjuk objek */
clrscr();
x = 87;
px = &x; /* px berisi alamat dari x */
y = *px; /* y berisi nilai yang ditunjuk px */
cout<<“Alamat x =”<<&x <<\n”;
cout<<“Isi px = \n”, px);
cout<<“Isi x = \n”, x);
cout<<“Nilai yang ditunjuk oleh px = \n”, *px);
cout<<“Nilai y = \n”, y);
getch();
}





3 OPERASI POINTER

Ø  Operasi Penugasan
Suatu variable pointer seperti halnya variable yang lain, juga bisa mengalami operasi
penugasan. Nilai dari suatu variable pointer dapat disalin ke variable pointer yang lain.

//Contoh9_2
#include "iostream.h"
#include "conio.h"
void main()
{ float *x1,y, *x2;
clrscr();
y = 13.45;
x1 = &y;            /* Alamat dari y disalin ke variabel x1 */
x2 = x1;            /* Isi variabel x1 disalin ke variabel x2 */
cout<<"Nilai variabel y =  "<<y<< " ada di alamat "<< x1<<"\n";
cout<<"Nilai variabel y =  "<<y<< " ada di alamat "<< x2<<"\n";
getch();
}
Ø  Operasi Aritmatika
Suatu variabel pointer hanya dapat dilakukan operasi aritmatika dengan nilai integer
saja. Operasi yang biasa dilakukan adalah operasi penambahan dan pengurangan.
Operasi penambahan dengan suatu nilai menunjukkan lokasi data berikutnya (index
selanjutnya) dalam memori. Begitu juga operasi pengurangan.
//Contoh9_3
#include <iostream.h>
#include <conio.h>
void main()
{ int nilai[3], *penunjuk;
clrscr();
nilai[0] = 125;
nilai[1] = 345;
nilai[2] = 750;
penunjuk = &nilai[0];
cout<<"Nilai "<<*penunjuk <<" ada di alamat memori " <<penunjuk<<"\n";
cout<<"Nilai "<<*(penunjuk+1) <<" ada di alamat memori " <<penunjuk+1<<"\n";
cout<<"Nilai "<<*(penunjuk+2) <<" ada di alamat memori " <<penunjuk+2<<"\n";
getch();
}












Ø  Operasi Logika
Suatu pointer juga dapat dikenai operasi logika.
//Contoh9_4
#include<iostream.h>
#include "conio.h"
void main()
{ int a = 100, b = 200, *pa, *pb;
clrscr();
pa = &a;
pb = &b;
cout<<"nilai pa= "<<pa<< " nilai pb= "<<pb<<"\n";
if(pa < pb)
cout<<"pa menunjuk ke memori lebih rendah dari pb\n";
if(pa == pb)
cout<<"pa menunjuk ke memori yang sama dengan pb\n";
if(pa > pb)
cout<<"pa menunjuk ke memori lebih tinggi dari pb\n";
getch();}




4 POINTER DAN STRING

//Contoh9_5
#include <iostream.h>
#include <conio.h>
void misteri1(char *);
void main() {
char string[] = "amikom";
cout<< "String sebelum proses adalah " << string <<"\n" ;
misteri1(string);
cout<<"String setelah proses adalah "<<string;
getch();
}
void misteri1(char *s) {
while ( *s != '\0' ) {
if ( *s >= 'a' && *s <= 'z' )
*s -= 32;
++s;
}
}








5 POINTER MENUNJUK SUATU ARRAY

//Contoh9_6
#include "iostream.h"
#include "conio.h"
void main()
{ static int tgl_lahir[] = { 13,9,1982 };
int *ptgl;
ptgl = tgl_lahir; /* ptgl berisi alamat array */
cout<<"Diakses dengan pointer\n";
cout<<"Tanggal = "<< *ptgl<<"\n";
cout<<"Bulan = "<< *(ptgl + 1) <<"\n";
cout<<"Tahun = "<<*(ptgl + 2) <<"\n";
cout<<"\nDiakses dengan array biasa\n";
cout<<"Tanggal = "<< tgl_lahir[0] <<"\n";
cout<<"Bulan = "<< tgl_lahir[1] <<"\n";
cout<<"Tahun = "<< tgl_lahir[2] <<"\n";
getch();
}


MEMBERI NILAI ARRAY DENGAN POINTER

//contoh9_7
#include "iostream.h"
#include "conio.h"
void main()
{ int x[5], *p, k;
clrscr();
p = x;
x[0] = 5;
x[1] = x[0];
x[2] = *p + 2;
x[3] = *(p+1) - 3;
x[4] = *(x + 2);
for(k=0; k<5; k++)
cout<<"x["<<k<<"] = "<< x[k]<<"\n";
getch();
}

Tugas:
1.      Buatlah Program untuk menggambarkan konsep Pointer: menampilkan alamat pointe dan isi pointer, dengan ketentuan sbb,
Variabel  bilangan bulat   bil= 20;
dan variabel pointer  bulat   *pnt.
2.       Buatlah  program  untuk  menampilkan  isi dan alamat pointer larik (array)
int    * bilangan[]={5,7,8,3};

 

MEMORI DINAMIS


Pada contoh program di samping kiri sejumlah memori secara ekplisit disisihkan untuk menampung array titik yang mempunyai 10 elemen. Sebenamya alokasi memori ini, hanya yang dibutuhkan saja, dapat dilakukan secara dinamis yaitu dilakukan pada saat run-time, Untuk melakukan hal ini kita perlu array yang elemen elemennya adalah pointer ke suatu struktur seperti dijelaskan pada program di samping kanan.
Alokasi memori secara dinamis dilakukan dengan operator new dan dealokasi dilakukan dengan operator delete. Keduanya merupakan operator baru pada C++.


#include <iostream.h>

struct ttk
{
int x;
int y;
};
main()
{
int i;
struct ttk titik[10];

for (i=0; i < 10; ++i)
{
titik[i].x = i ;
titik[i].y=i;}
for(i=0;i< 10;++i)
{cout << titik[i].x << ", " << titik[i].y << "\n";
}
return 0;}

#include <iostream.h>

struct ttk
{
int x;
int y;
};
main()
{
int i;
struct ttk *titik[10];

for(i=0;i<10;++i)
{
titik[i] = new ttk;
titik[i]->x=i;
titik[i]->y = i;
}
for (i=0;i< 10;++i)
{
cout << titik[i]->x  <<  ", "  <<  titik[i]->y << "\n";
}
for(i=0;i< 10;++i)
{
// free(titik[i]);
delete titik[i];
}
return 0;
}

 

Sabtu, 14 Januari 2012

Belajar Membuat Animasi dasar pada Photoshop

Saya coba buat dasar-dasar nya aja.. atau gimana sih cara buat suatu gambar itu jadi gerak.. belom masuk ke berubah bentuk ya.. cuman gerak aja..
Pembuatan animasi di photoshop ada 2 cara :
1. Import Langsung dari layer ( Make frame from layers – buat yang udah EXPERT )
2. Manual ( ini khusus buat menggerakan benda aja)
Sekarang kita mulai dengan yang manual dulu aja yaa.. dari dasar dulu la..
Pertamax.. hehehe  buka dokumen baru :
animasi1
Buat kotak dengan rectangle marquee tool. Klik Select > Inverse.. lalu warnai dengan warna Hitam Klik Edit > Fill > Black
animasi2
Sekarang buat lingkaran dengan Elliptical Marquee tool.. ( Sambil tekan tombol SHIFT biar Bener-bener bulet jadinya )..
Warnai dengan Gradient TOol > Radial Gradient.  Warna Terserah aja..
animasi3
Kalo ngikutin nya bener … jadinya kayak gini ..
animasi4
Sekarang kita gerakkan Bola nya..
Klik Windows > Animation, maka muncul Animation Bar..
animasi5
Klik Duplicate Selected Frame .. Muncul Frame baru dengan posisi bola yang sama..
animasi6
Sekarang pindahin bola yang ada di frame 2 ke tepi kiri tengah..
animasi7
Klik Tween Animation Frame untuk membuat Frame-frame dari posisi bola di atas ke posisi bola di samping secara otomatis.. kalo mau gerakan nya halus.. frame nya banyakin aja.. saya pake 5 frame aja..
animasi8
Sekarang udah jadi deh.. gerakan dari atas ke samping kiri.. coba aja tekan tombol Play.
animasi9
Pake cara yang sama .. Sekarang klik frame terakhir.. Klik duplicate selected frame lagi.. Pindahkan bola ke bawah tengah.. lalu buat Tween animation frame.sebanyak 5 juga.. Lalu animasikan bola dari tengah bawah ke tengah kanan.. animasikan lagi..
Untuk yang terakhir jangan sampe kembali ke posisi awal.. tapi buat renggang sedikit..
animasi11
Klik tombol Play..  Kalo udah Ok save di GIF..
Klik File > Save For Web and Devices
animasi12
Hasilnya :
animasi12
Selamat Mencoba…

variable, pointer dan reference variables

Ya mungkin bagi anda (seharusnya) kata variable dan pointer tidak asing lagi. Hampir tidak mungkin pemrograman tanpa variable. Pointer juga sudah pernah saya bahas di blog ini. Kali ini sebenarnya untuk memperkenalkan reference variable.
Seperti kita tahu cara paling mudah untuk mengisi variabel dengan sebuah nilai adalah sebagai berikut :
1    int x = 7;
Atau dengan teknik yang sedikit lebih maju (maju ????)
1    int x, *p; //pendefinisian variabel dan pointer
2    p = &x; //p diarahkan ke x
3    *p = 5; //nilai 5 dimasukkan ke variabel yang ditunjuk oleh p

Untuk code diatas, sebenarnya variabel p tidak pernah diciptakan , p hanyalah sebuah pointer yang menunjuk ke sebuah variabel, sehingga *p = 5 , sebenarnya sama halnya dengan x= 5. Hal ini nampak tidak berguna sampai anda menggunakan fungsi yang membutuhkan hal seperti ini.
Nah bagaimana dengan reference variable ?
Lihat contoh code.
1    int p;
2    int &n = 5;

Anda bisa melihat bahwa symbol “&” (ampersand) yang digunakan persis dengan yang digunakan variabel biasa untuk merujuk ke address nya. Sekarang anda bisa menebak berapa nilai p . Yap 5!
Satu variabel bisa dirujuk oleh banyak reference.
1    int p;
2    int &r1 = p;
3    int &r2 = p;
4    int &r3 = p;
5    &r1 =7;
6    &r2 = 13;
Hasilnya tentu saja adalah 13.
Sampai sekarang perbedaan yang saya ketahui antara pointer dan reference adalah , sekali reference di deklarasikan dan merujuk ke variabel lain. Maka reference tersebut tidak bisa diganti dan merujuk ke variabel lain.





Artikel Dan Contoh Program. Pointer C++
Pointer
1 PENGERTIAN POINTER
Pointer (variabel penunjuk) adalah suatu variabel yang berisi alamat memori dari suatu variabel lain. Alamat ini merupakan lokasi dari obyek lain (biasanya variabel lain) di dalam memori. Contoh, jika sebuah variabel berisi alamat dari variabel lain, variabel pertama dikatakan menunjuk ke variabel kedua
Operator Pointer ada dua, yaitu :
? Operator &
1. Operator & bersifat unary (hanya memerlukan satu operand saja).
2. Operator & menghasilkan alamat dari operandnya.
? Operator *
1. Operator * bersifat unary (hanya memerlukan satu operand saja).
2. Operator * menghasilkan nilai yang berada pada sebuah alamat.


2 Inisialisasi String(cont.)
 Contoh program array dimensi 2
/*Program :array.cpp*/
#include
Void printArray(int [] [3]);
Main() {
int matrik1[2] [3] ={ {1,2,2}, {4,5,6} },
matrik2[2] [3] ={ {1,2,3,4,5,} },
matrik3[2] [3] ={ {1,2}, {4} },
printArray(matrik1) ;
printArray(matrik2) ;
printArray(matrik3) ;
return 0;
}
Pointer : variabel yang berisi alamat memori
Bentuk Umum : Type *variable name;
 Type adalah tipe dasar pointer
 Variable name adalah nama variabel pointer
 * adalah operator memori untuk mengembalikan nilai variabel pada alamatnya yang ditentukan oleh operand.

Contoh program pointer
//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’;
}

Hasil dari program adalah sebagai berikut :
Nilai v = 7 dan *p = 7
Alamatnya = efffb24
Operator Pointer
Ada beberapa operator yang digunakan dalam pointer yaitu operator alamat (&)
Contoh :
int y = 5;
int *yPtr;
Maka pernyataan
yPtr = &y;
Mengandung arti bahwa alamat dari variabel y ditujukan kepada variabel pointer yPtr.

Contoh program operator pointer :
//Program :pointer2. cpp
#include <'iostream.h'>
Int main()
{
int *ptr, num; // 1
ptr = # // 2
*ptr = 100; // 3
cout << num << “ “;
(*ptr)++; // 4
cout << num << “ “;
(*ptr)*2; // 5
cout << num << “\n “;
return 0;
}

• Operasi Aritmatika
? Suatu variabel pointer hanya dapat dilakukan operasi aritmatika dengan nilai integer saja. Operasi yang biasa dilakukan adalah operasi penambahan dan pengurangan. Operasi penambahan dengan suatu nilai menunjukkan lokasi data berikutnya (index selanjutnya) dalam memori. Begitu juga operasi pengurangan.

Contoh Program :
#include <'stdio.h'>
#include <'conio.h>
void main()
{ int nilai[3], *penunjuk;
clrscr();
nilai[0] = 125;
nilai[1] = 345;
nilai[2] = 750;
penunjuk = &nilai[0];
printf(�Nilai %i ada di alamat memori %p\n�, *penunjuk, penunjuk);
printf(�Nilai %i ada di alamat memori %p\n�, *(penunjuk+1), penunjuk+1);
printf(�Nilai %i ada di alamat memori %p\n�, *(penunjuk+2), penunjuk+2);
getch();
}

• Operasi Logika
? Suatu pointer juga dapat dikenai operasi logika.
Contoh Program :
#include <'stdio.h'>
#include <'conio.h'>
void main()
{ int a = 100, b = 200, *pa, *pb;
clrscr();
pa = &a;
pb = &b;
if(pa < pb)
printf(�pa menunjuk ke memori lebih rendah dari pb\n�);
if(pa == pb)
printf(�pa menunjuk ke memori yang sama dengan pb\n�);
if(pa > pb)
printf(�pa menunjuk ke memori lebih tinggi dari pb\n�);
getch();
}

4 POINTER DAN STRING
Contoh Program 1 :
#include <'stdio.h'>
#include <'conio.h'>
char *nama1 = �SPIDERMAN�;
char *nama2 = �GATOTKACA�;
void main()
{ char namax;
clrscr();
puts(�SEMULA :�);
printf(�Saya suka >> %s\n�, nama1);
printf(�Tapi saya juga suka >> %s\n�, nama2);
/* Penukaran string yang ditunjuk oleh pointer nama1 dan nama2 */
printf(�SEKARANG :�);
printf(�Saya suka >> %s\n�, nama1);
printf(�Dan saya juga masih suka >> %s\n�, nama2);
getch();
}
Contoh Program 2 :
#include
void misteri1(char *);
void main() {
char string[] = "characters";
printf("String sebelum proses adalah %s", string);
misteri1(string);
printf("String setelah proses adalah %s", string);
}
void misteri1(char *s) {
while ( *s != '\0' ) {
if ( *s >= 'a' && *s <= 'z' )
*s -= 32;
++s;
}
}









5 Array Pointer
Pointer dapat di-array seperti tipe data lain dalam C++ integer
contoh :
Int *pi[10];

Contoh Program array pointer
//Program :pointer6. cpp
#include
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;
}

Output :
10, 20, 30, 40, 50,

pointer C++

1 PENGERTIAN POINTER
Pointer (variabel penunjuk) adalah suatu variabel yang berisi alamat memori dari suatu
variabel lain. Alamat ini merupakan lokasi dari obyek lain (biasanya variabel lain) di dalam
memori. Contoh, jika sebuah variabel berisi alamat dari variabel lain, variabel pertama
dikatakan menunjuk ke variabel kedua
Operator Pointer ada dua, yaitu :
    Operator &
Operator & bersifat unary (hanya memerlukan satu operand saja).
Operator & menghasilkan alamat dari operandnya.
    Operator *
Operator * bersifat unary (hanya memerlukan satu operand saja).
Operator * menghasilkan nilai yang berada pada sebuah alamat.

2 DEKLARASI POINTER
Seperti halnya variabel yang lain, variabel pointer juga harus dideklarasikan terlebih dahulu sebelum digunakan.
Bentuk Umum :
Tipe_data *nama_pointer;

//Contoh9_1
int *px;
char *sh;
Contoh Program :
#include “IOSTREAM.h”
#include “conio.h”
void main()
{ int x, y; /* x dan y bertipe int */
int *px; /* px pointer yang menunjuk objek */
clrscr();
x = 87;
px = &x; /* px berisi alamat dari x */
y = *px; /* y berisi nilai yang ditunjuk px */
cout<<“Alamat x =”<<&x <<\n”;
cout<<“Isi px = \n”, px);
cout<<“Isi x = \n”, x);
cout<<“Nilai yang ditunjuk oleh px = \n”, *px);
cout<<“Nilai y = \n”, y);
getch();
}

3 OPERASI POINTER
    Operasi Penugasan
Suatu variable pointer seperti halnya variable yang lain, juga bisa mengalami operasi
penugasan. Nilai dari suatu variable pointer dapat disalin ke variable pointer yang lain.


//Contoh9_2
#include "iostream.h"
#include "conio.h"
void main()
{ float *x1,y, *x2;
clrscr();
y = 13.45;
x1 = &y;         /* Alamat dari y disalin ke variabel x1 */
x2 = x1;         /* Isi variabel x1 disalin ke variabel x2 */
cout<<"Nilai variabel y =  "<<y<< " ada di alamat "<< x1<<"\n";
cout<<"Nilai variabel y =  "<<y<< " ada di alamat "<< x2<<"\n";
 getch();
}
    Operasi Aritmatika
Suatu variabel pointer hanya dapat dilakukan operasi aritmatika dengan nilai integer
saja. Operasi yang biasa dilakukan adalah operasi penambahan dan pengurangan.
Operasi penambahan dengan suatu nilai menunjukkan lokasi data berikutnya (index
selanjutnya) dalam memori. Begitu juga operasi pengurangan.
//Contoh9_3
#include <iostream.h>
#include <conio.h>
void main()
{ int nilai[3], *penunjuk;
clrscr();
nilai[0] = 125;
nilai[1] = 345;
nilai[2] = 750;
penunjuk = &nilai[0];
cout<<"Nilai "<<*penunjuk <<" ada di alamat memori " <<penunjuk<<"\n";
cout<<"Nilai "<<*(penunjuk+1) <<" ada di alamat memori " <<penunjuk+1<<"\n";
cout<<"Nilai "<<*(penunjuk+2) <<" ada di alamat memori " <<penunjuk+2<<"\n";
getch();
}

    Operasi Logika
Suatu pointer juga dapat dikenai operasi logika.
//Contoh9_4
#include<iostream.h>
#include "conio.h"
void main()
{ int a = 100, b = 200, *pa, *pb;
clrscr();
pa = &a;
pb = &b;
cout<<"nilai pa= "<<pa<< " nilai pb= "<<pb<<"\n";
if(pa < pb)
cout<<"pa menunjuk ke memori lebih rendah dari pb\n";
if(pa == pb)
cout<<"pa menunjuk ke memori yang sama dengan pb\n";
if(pa > pb)
cout<<"pa menunjuk ke memori lebih tinggi dari pb\n";
getch();}
4 POINTER DAN STRING

//Contoh9_5
#include <iostream.h>
#include <conio.h>
void misteri1(char *);
void main() {
char string[] = "amikom";
cout<< "String sebelum proses adalah " << string <<"\n" ;
misteri1(string);
cout<<"String setelah proses adalah "<<string;
getch();
}
void misteri1(char *s) {
while ( *s != '\0' ) {
if ( *s >= 'a' && *s <= 'z' )
*s -= 32;
++s;
}
}
5 POINTER MENUNJUK SUATU ARRAY
//Contoh9_6
#include "iostream.h"
#include "conio.h"
void main()
{ static int tgl_lahir[] = { 13,9,1982 };
int *ptgl;
ptgl = tgl_lahir; /* ptgl berisi alamat array */
cout<<"Diakses dengan pointer\n";
cout<<"Tanggal = "<< *ptgl<<"\n";
cout<<"Bulan = "<< *(ptgl + 1) <<"\n";
cout<<"Tahun = "<<*(ptgl + 2) <<"\n";
cout<<"\nDiakses dengan array biasa\n";
cout<<"Tanggal = "<< tgl_lahir[0] <<"\n";
cout<<"Bulan = "<< tgl_lahir[1] <<"\n";
cout<<"Tahun = "<< tgl_lahir[2] <<"\n";
getch();
}

MEMBERI NILAI ARRAY DENGAN POINTER
//contoh9_7
#include "iostream.h"
#include "conio.h"
void main()
{ int x[5], *p, k;
clrscr();
p = x;
x[0] = 5;
x[1] = x[0];
x[2] = *p + 2;
x[3] = *(p+1) - 3;
x[4] = *(x + 2);
for(k=0; k<5; k++)
cout<<"x["<<k<<"] = "<< x[k]<<"\n";
getch();
}

Tugas:
1.    Buatlah Program untuk menggambarkan konsep Pointer: menampilkan alamat pointe dan isi pointer, dengan ketentuan sbb,
      Variabel  bilangan bulat   bil= 20;
      dan variabel pointer  bulat   *pnt.
2.    Buatlah  program  untuk  menampilkan  isi dan alamat pointer larik (array)   
int    * bilangan[]={5,7,8,3};



MEMORI DINAMIS
Pada contoh program di samping kiri sejumlah memori secara ekplisit disisihkan untuk menampung array titik yang mempunyai 10 elemen. Sebenamya alokasi memori ini, hanya yang dibutuhkan saja, dapat dilakukan secara dinamis yaitu dilakukan pada saat run-time, Untuk melakukan hal ini kita perlu array yang elemen elemennya adalah pointer ke suatu struktur seperti dijelaskan pada program di samping kanan.
             Alokasi memori secara dinamis dilakukan dengan operator new dan dealokasi dilakukan dengan operator delete. Keduanya merupakan operator baru pada C++.


#include <iostream.h>

struct ttk
{
int x;
int y;
};
main()
{
int i;
struct ttk titik[10];

for (i=0; i < 10; ++i)
{
titik[i].x = i ;
titik[i].y=i;}
for(i=0;i< 10;++i)
{cout << titik[i].x << ", " << titik[i].y << "\n";
}
return 0;}   
#include <iostream.h>

  struct ttk
  {
  int x;
  int y;
  };
  main()
  {
  int i;
  struct ttk *titik[10];
 
  for(i=0;i<10;++i)
  {
  titik[i] = new ttk;
  titik[i]->x=i;
  titik[i]->y = i;
  }
  for (i=0;i< 10;++i)
  {
cout << titik[i]->x  <<  ", "  <<  titik[i]->y << "\n";
                }
  for(i=0;i< 10;++i)
  {
  // free(titik[i]);
  delete titik[i];
  }
  return 0;
  }