TEKOM C
Senin, 02 Agustus 2010
IMK
UCD adalah desain user interface yang memfokuskan usability, karakteristik user, lingkungan, tasks, dan desain workflow dari suatu interface. UCD mengikuti rangkaian metode dan teknik analisis, desain, dan evaluasi mainstreamhardware, software, dan interface web.
Proses pada UCD merupakan proses yang berulang (iterative), dimana tahap desain dan evaluasi dibangun daritahap awal proyek hingga tahap implementasi
Tahapan dalam UCD antara lain:
Memahami kebutuhan user.
Mendeskripsikan kebutuhan user.
Merancang prototype sebagai alternatif.
Mengevaluasi perancangan.
Karakteristik dalam proses UCD:
Memahami user dan kebutuhannya.
Fokus pada user pada tahap awal desain dan mengevaluasi hasil
desain.
Mengidentifikasi, membuat dokumentasi dan menyetujui kegunaan
dan tujuan pengalaman user.
Perulangan hampir dapat dipastikan. Para perancang tidak pernah
berhasil hanya dalam satu kali proses.
Dalam bidang yang lain perancangan sebuah prototype biasanya berupa
model dalam skala kecil.
Contoh: Maket Banguna
Alat-alat Input & output
Dalam Perangkat Keras (Hardware) Komputer, terdapat 3 Buah Konsep perangkat keras,yakni:
Alat Input adalah alat-alat yang berfungsi memasukan data atau perintah kedalam komputer.Contoh dari alat input antara lain:
1.Keyboard
2.Mouse
3.Scanner
4.Joystick
5.Camera digital
6.Microphone
7.Digitizer
8.Touch Screen
9.Touch pad
10.Track ball
11.Light Pen
12.Handy cam
Alat Pemproses adalah alat-alat yang berfungsi mengolah data kedalam komputer setelah mengalami proses Input.Contoh dari alat pemproses adalah Processor
Alat Output adalah alat-alat yang berfungsi mengeluarkan data-data yang berbentuk informasi.Contoh dari alat Output adalah:
1.Monitor
2.Printer
3.Speaker
4.Proyektor
Desain grafis
Desain grafis adalah suatu bentuk komunikasi visual yang menggunakan gambar untuk menyampaikan informasi atau pesan seefektif mungkin. Dalam disain grafis, teks juga dianggap gambar karena merupakan hasil abstraksi simbol-simbol yang bisa dibunyikan. disain grafis diterapkan dalam disain komunikasi dan fine art. Seperti jenis disain lainnya, disain grafis dapat merujuk kepada proses pembuatan, metoda merancang, produk yang dihasilkan (rancangan), atau pun disiplin ilmu yang digunakan (disain).
Seni disain grafis mencakup kemampuan kognitif dan keterampilan visual, termasuk di dalamnya tipografi, ilustrasi, fotografi, pengolahan gambar, dan tata letak.
Seorang Desainer harus memiliki minimal 5 (lima) Dimensi Keilmuan yaitu :
1.Wawasan Teknologi
2.Wawasan Sains
3.Wawasan Seni
4.Wawasan Sosial Dan Budaya
5.Wawacan Filsafat Dan Etika
Software dalam Desain Grafis
Banyak sekali software-software yang digunakan dalam dunia Desain Grafis diantaranya adalah: Adobe Photoshop, Corel Draw, Ilustrator dan lainnya, sehingga seorang Desainer Grafis dapat memilih software andalannya dalam mengerjakan project Designnya.
Sedikit Artikel yang berkaitan dengan salah satu software Grafis – Adobe Photoshop…
Adobe Photoshop
Adobe Photoshop adalah software yang dibuat oleh perusahaan Adobe System, yang di khususkan untuk pengeditan foto atau gambar dan pembuatan effect. Perangkat lunak ini banyak digunakan oleh Fotografer Digital dan perusahaan iklan sehingga dianggap sebagai pemimpin pasar (market leader) untuk perangkat lunak pengolah gambar. Meskipun pada awalnya Photoshop dirancang untuk menyunting gambar untuk cetakan berbasis-kertas, Photoshop yang ada saat ini juga dapat digunakan untuk memproduksi gambar untuk World Wide Web. Beberapa versi terakhir juga menyertakan aplikasi tambahan, Adobe ImageReady, untuk keperluan tersebut.
Photoshop juga memiliki hubungan erat dengan beberapa perangkat lunak penyunting media, animasi, dan authoring buatan Adobe lainnya.
Kelebihan Adobe Photoshop
Adobe Photoshop mempunyai banyak fasilitas yang memungkinkan seorang Desainer menciptakan efek-efek tertentu dan bisa menggunakan banyak variasi dari fasilitas yang disediakan oleh Adobe Photoshop, beberapa diantaranya yaitu:
Membuat tulisan dengan effect tertentu.
Photoshop dapat mengubah bentuk tulisan menjadi lebih kreatif dan inovatif dengan tool effect yang ada didalamnya
Membuat tekstur dan material yang beragam.
Dengan langkah-langkah tertentu, seorang Desainer dapat membuat gambar misalnya daun, logam, air, dan bermacam gambar lainnya
Mengedit foto dan gambar yang sudah ada.
Dengan Photoshop kita dapat merubah gambar kita jelek menjadi bagus ataupun sebaliknya. Selain itu juga Photoshop dapat merubah foto seseorang menjadi sebuah gambar kartun. Atau dalam Design Grafis disebut vector and vexel.
Memproses materi Web.
Photoshop juga digunakan untuk keperluan web, misalnya: kompresi file gambar agar ukurannya lebih kecil, memotong gambar kecil-kecil (slice), dan membuat web photo gallery. Dengan Adobe Image Ready, gambar yang sudah ada bisa dibuat untuk keperluan web, misalnya menjadi rollover dan animasi GIF.
Kelemahan Adobe Photoshop
Kelemahan Adobe Photoshop dalam menciptakan Image adalah bahwa Adobe Photoshop hanya bisa digunakan untuk menciptakan Image yang statis, dan juga dengan berkembangnya versi Photoshop sekarang ini spesifikasi Komputer untuk menjalankan program Adobe Photoshop juga harus sudah tinggi dan yang pasti akan diimbangi oleh harga yang tinggi pula.
Daftar Software Desain Grafis
Ada beberapa software yang digunakan dalam desain grafis:
Desktop publishing
Adobe Photoshop
Adobe Illustrator
Adobe Indesign
Page Maker
Coreldraw
GIMP
Inkscape
Adobe Freehand
Adobe image ready
CorelDraw
Webdesign
Macromedia Dreamweaver
Microsoft Frontpage
Notepad
Adobe Photoshop
Audiovisual
Adobe After Effect
Adobe Premier
Final Cut
Adobe Flash, atau sebelumnya Macromedia Flash
Ulead Video Studio
Magic Movie Edit Pro
Power Director
Rendering 3 Dimensi
3D StudioMax
Maya
AutoCad
Google SketchUp
Light Wave
Blender
Terminologi Prototype
1.Prototype Horisontal
Sangat luas, mengerjakan atau menunjukkan sebagian besar interface, tetapi ini dilakukan dengan cara yang licik.
2.Prototype Vertikal
Lebih sedikit aspek atau fitur dari interface yang disimulasikan, tetapi dilaksanakan dengan rincian yang sangat baik.
3.Early Prototyping
4. Late Prototyping
5.Low-fidelity Prototyping (prototype dengan tingkat ketepatan yang rendah)
Contoh (1) storyboard:
Digunakan di awal desain.
Biasanya digunakan dengan skenario, lebih terinci, dan dapat diputar ulang.
Kumpulan dari sketsa/frame individual.
menyajikan urutan inti cerita.
menunjukkan bagaimana kemungkinan user dapat mengalami peningkatan melalui setiap aktifitas.
Contoh (2) sketsa:
Sketsa sangat penting untuk low-fidelity prototyping.
Jangan takut dengan kemampuan menggambar.
Menyajikan “tampilan” yang kotor dan cepat dari interface, konsep desain, dll.
Contoh (3) “wizard-of-oz”:
User berpikir mereka berinteraksi dengan komputer, tapi developer lebih menanggapi hasilnya daripada sistemnya.
Biasanya dilakukan di awal desain untuk memahami apa yang diharapkan oleh user.
6.Mid-fidelity prototyping (prototype dengan tingkat ketepatan sedang)
Form skematik.
Navigasi dan fungsi yang disimulasikan biasanya berbasis pada apa yang tampil pada layar atau simulasi layar.
Contoh tools yang digunakan: powerpoint, illustrator, dll.
7.High-fidelity prototyping (prototype dengan tingkat ketepatan yang tinggi)
Hi-fi prototype seperti sistem akhir.
Menggunakan bahan baku yang sama seperti produk akhir.
Tools umum yang digunakan: Macromedia Director, Visual Basic, Flash, Illustrator.
Sketsa Prototype
1. Storyboard
Digunakan di awal desain, biasanya digunakan dengan skenario, lebih terinci, dan dapat diputar ulang. Kumpulan dari sketsa/frame bersifat individual juga menyajikan urutan inti cerita. Storyboard juga menunjukan bagaimana kemungkinana user dapat mengalami peningkatan melalui setiap aktifitas.
2. Sketsa
Sketsa sangat penting untuk low-fidelity prototipe. Dalam sketsa kita di haruskan untuk tidak takut dengan kemampuan menggambar kita. Sketsa menampilkan "tampilan" cepat dari interface, konsep desain, dll. Sketsa juga penting untuk pengetahuan user akan apa yang dia lihat jelas dalam apa-apa yang terdapat dalam sistem tersebut. Dengan kata lain sketsa merupakan gambar dasar sebelum di implementasikan kedalam bentuk nyata
3. Wizard-of-oz
Wizard-of-oz berbentukan tampilan maket dan berinteraksi dengan pemakai, baik untuk mensimulasikan sistem yang sulit dibuat. Maket juga adalah suatu bentuk komunikasi kepada user dalam suatu bentuk bangunan yang akan di realisasikan nantinya. Jadi user dapat melihat bentuk awal sebelum melihat bentuk jadi nya nanti.
Referensi :
http://zheira83.files.wordpress.com/2009/04/prototipe.ppt
Prototyping Tools
1.Draw/Paint Program, contoh: Photoshop, Coreldraw
Menggambar setiap layar, baik untuk dilihat.
Prototype horisontal, tipis.
Adobe Photoshop.
2.Scripted Simulations/Slide Show, contoh: Powerpoint, Hypercard, Macromedia Director, HTML.
Letakkan tampilan seperti storyboard dengan (animasi) perubahan diantaranya.
Dapat memberikan user catatan yang sangat spesifik.
Disebut chauffeured prototyping.
Macromedia Director.
3.Interface Builders, contoh: Visual Basic, Delphi, UIMX.
Tools untuk menampilkan jendela, kendali, dan lain-lain dari interface.
Fitur yang baik
Mudah dikembangkan dan memodifikasi layar.
Mendukung jenis interface yang dikembangkan.
Mendukung berbagai macam divasi Input/Output.
Mudah untuk memodifikasi dan menghubungkan layar.
Mengijinkan memanggil prosedur eksternal dan program.
Mengijinkan mengimpor teks, grafik, media lain.
Mudah untuk dipelajari dan digunakan.
Dukungan yang baik dari vendor.
Sistem menu dalam windows
Sistem Menu
Sistem menu merupakan pilihan yang tepat untuk menunjukkan kemampuan dan fasilitas yang dimiliki oleh sebuah program aplikasi kepada pengguna. Menu adalah daftar sejumlah pilihan dalam jumlah terbatas, yang biasanya berupa suatu kalimat atau kumpulan beberapa kata.
Ditinjau dari teknik penampilan pilihan-pilihan pada sebuah sistem menu, dikenal dua jenis sistem menu:
Sistem menu datar
Dalam sistem menu datar, kemampuan dan fasilitas yang dimiliki oleh suatu program aplikasi akan ditampilkan secara lengkap, dan biasanya menggunakan kalimat-kalimat yang cukup panjang.
Contoh sistem menu datar
Sistem menu tarik (pulldown) yang berbasis pada struktur hirarki pilihan (struktur pohon pilihan)
Sebuah menu tarik pada dasarnya adalah sistem menu yang pilihan-pilihannya dikelompokkan menurut kategori tertentu atau menurut cara tertentu sehingga mereka membentuk semacam hirarki pilihan. Pada hirarki paling tinggi, pilihan-pilihan itu disebut dengan pilihan/menu utama. Sebagian atau semua pilihan/menu utama dapat mempunyai salah satu atau lebih subpilihan/submenu. Sebuah subpilihan/submenu dari suatu pilihan/menu utama dapat mempunyai satu atau lebih sub-pilihan dan seterusnya. Struktur ini membentuk semacam struktur pohon.
Contoh sistem menu tarik
Keuntungan dan kerugian penggunaan sistem menu adalah:
Keuntungan
Kerugian
Memerlukan sedikit pengetikan
Seringkali lambat
Beban Memori Rendah
Memakan ruang layar (khususnya untuk menu datar)
Strukturnya terdefinisikan dengan baik
Tidak cocok untuk aktifitas pemasukan data
Tersedia piranti bantu CAD
Tidak cocok untuk dialog terinisisasi pengguna dan campuran
Single Menu
Binary menus
Multiple selection menus
Multiple-item menus / radio buttons
Pull-down and pop-up menus
Scrolling and two-dimensional menus
Alphasliders
Embedded links
Iconic menus, toolbars, or palettes
Linear Sequences & Multiple Menus
Tree-Structured Menus
Acyclic & Cyclic Menu Networks
Referensi :
http://hciisimk.blogspot.com/2008/11/chapter-6-menu-formulir-dan-kotak.html
http://yusriel.wordpress.com/
WYSIWYG
WYSIWYG (what you see is what you get) merupakan salah satu contoh dari manipulasi langsung / Direct Manipulation. Apa yang user lihat pada layar display pada saat menggunakan word processing misalnya, adalah bukan dokumen sebenarnya yang nantinya dihasilkan pada tahap akhir. Namun merupakan representasi atau rendering dari bagaimana rupa dokumen final nantinya. Implikasi dari WYSIWYG ini adalah perbedaan antara representasi dan hasil akhir adalah minimal, dan user dapat dengan mudah memvisualisasikan hasil akhir dari representasi yang diberikan komputer.
WYSIWYG = what you see is what you get = "apa yang didapat adalah apa yang dilihatnya"
Contoh : apa yang tercetak di printer merupakan informasi yang terkumpul dari data-data yang terlihat di layar monitor pada saat mencari data.
Hal ini juga perlu menjadi perhatian software engineer pada saat membangun antarmuka.
Informasi yang dicari/diinginkan harus sesuai dengan usaha dari user pada saat mencari data dan juga harus sesuai dengan data yang ada pada aplikasi sistem (software).
Jika sistem mempunyai informasi yang lebih dari yang diinginkan user, hendaknya dibuat pilihan (optional) sesuai dengan keinginan user. Bisa jadi yang berlebihan itu justru tidak diinginkan user.
Yang mendasar disini adalah harus sesuai dengan kemauan dan pilihan dari user.
9 . Knowledge User
by VengeancE on Nov.22, 2009, under IMK
User Physchology Characteristic:
Cognitive Style
Verbal/analytic
Spatial/Intuitive
Attitude
Positive
Neutral
Negative
Motivation
High
Moderate
Low
Dari uraian di atas kita dapat mengetahui tujuan akhir dari desain aplikasi adalah easy learning agar mudah digunakan oleh user.
User Knowledge and Experience
Data dan informasi yang terdapat pada aplikasi sangat sederhana, karena disesuaikan dengan pengetahuan dan pengalaman user.
Seperti aplikasi telepon genggam pada umumnya aplikasi ini tidak memerlukan typing skill yang baik, karena disesuaikan dengan keypad telepon genggam.
User Job and Task Characteristic
Frequency of use - Low
Task Importance - Low
System Use
Referensi :
http://kie4nie.blogspot.com/2010/07/knowledge-user.html
10 Guideline Preview
by VengeancE on Nov.22, 2009, under IMK
pedoman pengembangan perangkat lunak yang menawarkan rekomendasi pengembangan suatu aplikasi. Tujuan nya adalah untuk meningkatkan pengalaman bagi para pengguna dengan membuat interface aplikasi yang intuitif, mudah di pelajari, dan konsisten. Kebanyakan dari panduan membatasi diri untuk mendefinisikan tampilan umum dan hanya pada tampilan tertentu.Panduan ini memiliki kebijakan khusus, yang kadang-kadang didasarkan pada studi tentang interaksi manusia-komputer. Namun sebagian besar didasarkan konvensi sewenang-wenang dipilih oleh si pengembang.
Pedoman antarmuka ini akan menentukan seperangkat aturan untuk kegunaan umum. Ini juga sering digunakan untuk menentukan bagaimana masukan dan interaksi pengguna secara mekanisme cara kerjanya. Sebuah guideline kadang-kadang akan mendefinisikan terminologi standar dan semenarik mungkin. Berhubungan dengan unsur-unsur tertentu atau tindakan tertentu. Karena sebagian besar masalah pengguna berasal dari suatu aplikasi, dan ini merupakan suatu kelemahan untuk interface ini.
Versi yang paling penting adalah untuk dilakukan untuk kelompok-kelompok atau aplikasi. Dalam hal ini juga akan membangun suatu interface dengan menambahkan interface untuk berbagai fungsi. Tujuan utamanya adalah untuk menciptakan suatu kebiasaan yang konsisten di semua aspek (umumnya sebuah sistem operasi pada sistem operasi). Ini berarti baik jika menerapkan desain visual yang sama dan konsisten untuk menciptakan akses dan perilaku elemen umum dari suatu interface. Seperti penambahan tombol dan ikon sampai yang lebih komplek seperti kotak dialog.
Guideline Preview di rekomendasi kan untuk membantu pengembangan agar dalam pembuatan suatu aplikasi menjadi lebih baik. Pengembang kadang-kadang sengaja memilih untuk diam jika mereka berpikir bawah pedoman ini tidak sesuai dengan apa yang mereka inginkan.
Referensi :
http://www.kie4nie.blogspot.com/
Definisi UCD
Definisi UCD
UCD adalah desain user interface yang memfokuskan usability, karakteristik user, lingkungan, tasks, dan desain workflow dari suatu interface. UCD mengikuti rangkaian metode dan teknik analisis, desain, dan evaluasi mainstreamhardware, software, dan interface web.
Proses pada UCD merupakan proses yang berulang (iterative), dimana tahap desain dan evaluasi dibangun daritahap awal proyek hingga tahap implementasi
Tahapan dalam UCD antara lain:
Memahami kebutuhan user.
Mendeskripsikan kebutuhan user.
Merancang prototype sebagai alternatif.
Mengevaluasi perancangan.
Karakteristik dalam proses UCD:
Memahami user dan kebutuhannya.
Fokus pada user pada tahap awal desain dan mengevaluasi hasil
desain.
Mengidentifikasi, membuat dokumentasi dan menyetujui kegunaan
dan tujuan pengalaman user.
Perulangan hampir dapat dipastikan. Para perancang tidak pernah
berhasil hanya dalam satu kali proses.
Dalam bidang yang lain perancangan sebuah prototype biasanya berupa
model dalam skala kecil.
Contoh: Maket Banguna
Minggu, 23 Mei 2010
Struktur Data
Operasi File
Operasi file pada dpt terbagi menjadi 3 tahap bagian, yaitu:
- Membuka atau mengaktifkan file
- Melaksanakan pemrosesan file
- Menutup file
A. Membuka file
Sebelum suatu file dapat diproses, file harus dibuka terlebih dahulu. Sebelum file dibuka, terlebih dahulu obyek file harus didefinisikan. Sintaksnya:
ofstream nama_obyek;
perintah ofstream dapat dijalankan dengan menyertakan file header fstream.h Setelah itu, suatu file dapat dibuka dengan perintah
nama_obyek.open(“nama file dan path”);
B. Menulis ke File
Salah satu jenis pemrosesan pada file adalah menulis atau merekam data ke file.
Sintaknya:
nama_obyek << ... ;
C. Menutup File
Setelah pemrosesan file selesai, file dapat ditutup menggunakan perintah
nama_obyek.close();
Contoh 1 :
Program berikut ini untuk menulis teks ke dalam file
#include
#include
void main()
{
ofstream fileteks;
fileteks.open(“C:/algo.txt”);
fileteks << “Untuk mencapai tujuan yg besar, maka tujuan itu”
<< endl;
fileteks << “harus dibagi-bagi menjadi tujuan kecil”<< endl;
fileteks << “sampai tujuan itu merupakan tujuan yg dapat “
<< “dicapai” << endl;
fileteks << “berdasarkan kondisi dan potensi yg dimiliki saat “
<< itu “ << endl;
fileteks.close();
}
perintah fileteks.open(“C:/algo.txt”); akan membuka file algo.txt yang ada di C:\ Apabila file tersebut belum ada maka akan dibuat secara otomatis, dan apabila sudah ada isi file algo.txt akan terhapus.
D. Menambah Data pada File
Suatu file yang sudah ada sebelumnya dapat ditambah data yang baru (tidak menghapus data lama). Caranya dengan menambahkan perintah ios::app pada open().
nama_obyek.open(“nama file”, ios::app);
Contoh 2 :
#include
#include
void main()
{
ofstream fileteks;
fileteks.open(“C:/algo.txt”, ios::app);
fileteks << endl;
fileteks << “Oleh: Al Khowarizmi << endl;
fileteks.close();
}
E. Memeriksa Keberhasilan Operasi File
Tidak selamanya jalan yang mulus ditemui. Ada kemungkinan terjadi saat file dibuka, ternyata file tidak ada. Dalam C++ tersedia function untuk memeriksa kondisi-kondisi pada operasi file, sehingga kesalahan saat eksekusi dapat dikendalikan. Function yang dimaksud adalah fail().
Contoh 3 :
#include
#include
void main()
{
ifstream fileteks; { ifstream digunakan u/ membaca file }
fileteks.open(“C:/algo.txt”);
if (fileteks.fail()) cout << “Maaf file takdapat dibuka/”
<< “tidak ditemukan”;
fileteks.close();
}
F. Operasi Berbasis Karakter
Operasi file dapat dilakukan dalam bentuk karakter. Misalnya proses
penyimpanan data ke file dilakukan setiap karakter, atau membaca data file
karakter per karakter. Operasi ini didukung oleh function put() dan get().
Contoh 4 :
Program untuk menyimpan data karakter per karakter ke dalam file.
#include
#include
void main()
{
ofstream fileteks;
fileteks.open(“C:/contoh.txt”);
fileteks.put(‘A’);
fileteks.put(‘B’);
fileteks.put(‘C’);
fileteks.close();
}
Contoh 5 :
Program untuk membaca file karakter per karakter
#include
#include
void main()
{
char karakter;
ifstream fileteks; {}
fileteks.open(“C:/contoh.txt”);
while(!fileteks.eof())
{
fileteks.get(karakter);
cout << karakter;
}
fileteks.close();
}
Pointer
Adalah variable yang berisi alamt memory sebagai nilainya dan berbeda dengan variable biasa yang berisi alamat dari variable yang mempunyai nilai tertentu
1. Operator Alamat / Dereference Operator(&)
Setiap variabel yang dideklarasikan, disimpan dalam sebuah lokasi memori
dan pengguna biasanya tidak mengetahui di alamat mana data tersebut
disimpan.
Dalam C++, untuk mengetahui alamat tempat penyimpanan data, dapat
digunakan tanda ampersand(&) yang dapat diartikan “alamat”.
Contoh :
Bil1 = &Bil2;
dibaca: isi variabel bil1 sama dengan alamat bil2
2.Operator Reference (*)
Penggunaan operator ini, berarti mengakses nilai sebuah alamat yang ditunjuk
oleh variabel pointer.
Contoh :
Bil1=*Bil2;
dibaca: bil1 sama dengan nilai yang ditunjuk oleh bil2
Deklarasi variabel pointer
tipe * nama_pointer;
tipe merupakan tipe data yang akan ditunjuk oleh variabel, bukan tipe data dari
pointer tersebut.
Contoh program menggunakan pointer
40
// program pointer
#include
int main()
{
int nil1 = 5, nil2 = 15;
int *ptr;
ptr = &nil1;
*ptr = 10;
ptr=&nil2;
*ptr=20
cout<<”Nilai 1 = ”<
}
Hasil :
Nilai 1 = 10 dan nilai 2 = 20
Contoh Sederhana :
1.A di isi 20
2.C di isi 30
3.B menunjuk C
4.D menunjuk C
5.B menunjuk A
6.Isi yang di tunjuk oleh B dikurangi 15
7.E diisi, isi yang ditunjuk B ditambah 10
8.Isi yang ditunjuk oleh D = isi yang di tunjuk B
9.Munculkan isi yang ditunjuk D
10.Munculkan isi D
11.Munculkan alamat dari D
Jawabanya :
1.A = 20;
2.C = 30;
3.B = & C;
4.D = & C;
5.B = & a;
6.*B = (*B)-15
7.E = *B +10;
8.*D=*B
9.Cout<<*D;
10.Cout<<*D;
11.Cout<<&D;
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();
}
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 = "<
}
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
#include
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 " <
}
Operasi Logika
Suatu pointer juga dapat dikenai operasi logika.
//Contoh9_4
#include
#include "conio.h"
void main()
{ int a = 100, b = 200, *pa, *pb;
clrscr();
pa = &a;
pb = &b;
cout<<"nilai pa= "<
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
#include
void misteri1(char *);
void main() {
char string[] = "amikom";
cout<< "String sebelum proses adalah " << string <<"\n" ;
misteri1(string);
cout<<"String setelah proses adalah "<
}
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["<
}
ARRAY
Array merupakan koleksi data dimana setiap elemen memakai nama dan tipe yang sama serta setiap elemen diakses denagn membedakan index array-nya
Dilihat dari dimensinya array dapat dibagi menjadi Array dimensi satu, array dimensi dua dan array multi-dimensi.
ARRAY DIMENSI SATU
Bentuknya :
Tipe nama_var[ukuran];
Dengan :
Tipe : menyatakan jenis elemen array (int, char, unsigned, dan lain-lain)
Ukuran : menyatakan jumlah maksimal elemen array
Contoh :
Float nilai_ujian[5];
Pada turbo C++ array disimpan dalam memori secara berurutan. Elemen pertama berindeks nol digambarkan sebagai berikut :
Nilai_ujian[0]
Nilai_ujian[1]
Nilai_ujian[2]
Nilai_ujian[3]
Nilai_ujian[4]
Masing-masing berbentuk float dan berjumlah 5 elemen.
Selain itu, deklarasi array juga dapat berupa :
Static int bulan[12]={1,2,3,4,5,6,7,8,9,10,11,12}
Sesuai dengan deklarasi array diatas, maka isi variable array telah ditentukan yaitu :
Bulan[0] bernilai 1
Bulan[1] bernilai 2
Bulan[2] bernilai 3
Bulan[3] bernilai 4
Bulan[4] bernilai 5
Bulan[5] bernilai 6
Bulan[6] bernilai 7
Bulan[7] bernilai 8
Bulan[8] bernilai 9
Bulan[9] bernilai 10
Bulan[10] bernilai 11
Bulan[11] bernilai 12
Untuk memperjelas tentang array dimensi satu, perhatikan maslah berikut ini :
Misalkan Anda diminta membuat algoritma dan program untuk menampilkan bilangan dari 1 sampai bilangan 10, dengan pangkatnya masing-masing. Adapun batas nilai maksimal yang disimpan adalah 100.
Sesuai yang telah Anda pelajari , bahwa bilangan 1 pangkatnya adalah 1. Hasil ini diperoleh dari 1*1, kemudian bilangan 2 pangkatnya adalah 4, hasil ini diperoleh dari 2*2 sampai bilangan 10 yang pangkatnya adalah 100, hasil ini diperoleh dari 10*10.
Algoritma dari permasalahan diatas adalah berikut ini :
1. Tentukan elemen array untuk menampung nilai perkalian
2. Tentukan nilai awal indeks, batas akhir indeks dan kenaikannya (dalam hal ini , nilai awal indeks adalah 0, batas akhir indeks adalah 10, dan kenaikannya adalah 1)
3. Lakukan perulangan sesuai langkah 2
4. Nilai awal indeks ditambah dengan 1
5. Lakukan perkalian masing-masing elemen array sampai batas akhir indeks terpenuhi.
6. Tampilkan perkalian semua elemen array
7. Selesai .
Contoh program array dimensi satu
/*Program :array2.cpp*/
#include
int main()
{
int square[100];
int i; /*loop index*/;
int k; /*the integer*/
/*calculate the squares */
for (i=0; i<10; i++)
{
k= i+1;
square[i]=k*k;
printf(“nPangkat dari %d adalah %d “, k, square[i]);
}
return 0;
}
Bila program dijalankan akan muncul hasil :
Pangkat dari 1 adalah 1
Pangkat dari 2 adalah 4
Pangkat dari 3 adalah 9
Pangkat dari 4 adalah 16
Pangkat dari 5 adalah 25
Pangkat dari 6 adalah 36
Pangkat dari 7 adalah 49
Pangkat dari 8 adalah 64
Pangkat dari 9 adalah 81
Pangkat dari 10 adalah 100
Penjelasan :
Dari program diatas, Anda dapat melihat ada 10 buah elemen yang masing-masing nilainya akan dipangkatkan, mulai dari 1 sampai 10. Dimana dalam memori sudah dipesan tempat sebanyak 100.
Sedangkan apabila array akan dikirim ke sebuah fungsi caranya adalah hanya dengan mencantumkan nama array tanpa diikuti dengan tanda apapun, seperti contoh berikut :
int c[5] = {-45, 0, 6, 72, 1543};
—
—
JUMLAH (c, 5)
—-
Dalam contoh diatas, yang memanggil fungsi JUMLAH dengan mengirimkan argument berupa variable array c dan sebuah konstanta 5. Perhatikan bahwa variable array ditulis hanya c tanpa notasi tambahan apapun. Deklarasi variable array yang menjadi parameter dari suatu fungsi dituliskan dengan nama variable array yang diikuti dengan tanda kurung [], tanpa menuliskan banyaknya lokasi memori yang diinginkan.
ARRAY DIMENSI DUA
Struktur array yang dibahas diatas mempunyai satu dimensi, sehingga variabelnya disebut variable array berdimensi satu. Pada bagian ini ditunjukkan array berdimensi lebih dari satu, yang sering disebut dengan array berdimensi dua.
Sebagai contoh, sebuah matrik B berukuran 2 X 3 dapat dideklarasikan dalam C seperti berikut : int B[2][3] = {[2, 4, 1}, {5, 3, 7}}; yang menempati lokasi memori dengan susunan sebagai berikut :
0 1 2
0 2 4 1
1 5 3 7
Dan definisi variable untuk setiap elemen tersebut adalah :
0 1 2
0 b[0][0] b[0][1] b[0][2]
1 b[1][0] b[1][1] b[1][2]
Sebagai implementasi dari keterangan diatas, perhatikan program berikut ini :
Contoh Program array dimensi dua
/*Program :array2.cpp*/
#include
void printArray(int[][3]);
main()
{ int matrik1[2][3] = {{1, 2, 3},{4, 5, 6}};
int matrik2[2][3] = {1, 2, 3, 4, 5};
int matrik3[2][3] = {{1, 2},{4}};
printArray (matrik1);
printArray (matrik2);
printArray (matrik3);
return 0; }
void printArray (int a[][3])
{ int i,j;
for (i=0; i<=1; i++)
{ for (j=0; j<=2; j++)
printf(“%d”,a[i][j]);;
printf(“n”);
}
}
Bila program diatas dijalankan, akan mucul hasil :
123
456
123
450
120
400
Penjelasan :
Dari program diatas untuk matrik 1, penulisannya adalah 123 456, sedangkan pada matrik 2 penulisannya adalah 123 450. 0 disini mempunyai arti tempat yang disediakan untuk data kolom ke 3 dan baris ke 2 tidak diisi. Sedangkan matrik 3 penulisannya adalah 120 400. Dari matrik 3 disini kita bisa melihat bahwa pada baris pertama kolom ketiga data tidak diisi dan dianggap 0 dan pada baris kedua kolom kedua dan ketiga juga tidak diisi juga diisi 0.
Dalam program tersebut, juga digunakan fungsi untuk menampung hasil penjumlahan matrik.
Perhatikan contoh lain :
Int datasiswa[4][3];
Deklarasi diatas digunakan untuk mendeklarasikan suatu data siswa yang berbentuk demikian :
No Nama Kelas Jumlah Siswa
Tahun 1989 Tahun 1990 Tahun 1991
1 Kelas 1 50 55 49
2 Kelas 2 60 60 55
3 Kelas 3 56 56 56
4 Kelas 4 49 50 54
Dari deklarasi diatas maka angka empat [4] menyatakan jumlah kelas, dan angka indek [3] menyatakan tahun.
Data siswa [0][2] adalah Kelas 1 dan jumlah siswa tahun 1990 yaitu 55. Atau jumlah siswa kelas 1 pada tahun 1990 adalah 55.
Bentuk data siswa dapat juga digambarkan sebagai berikut :
1 2 3
1 50 55 49
2 60 60 55
3 56 56 56
4 49 50 54
Array ini dapat pula diberi nilai tetap dengan static seperti pada array dimensi satu. Deklarasinya adalah sebagai berikut :
Static int jumlah [4][3]=
{
50, 55, 49,
60, 60, 55,
56, 56, 56,
49, 50, 54
};
ARRAY DIMENSI BANYAK
Array ini seperti array dimensi dua tetapi dapat memiliki ukuran yang lebih besar. Sebenarnya array dimensi banyak ini tidak terlalu sering digunakan, tetapi sewaktu-waktu kalau dimensi yang dibutuhkan banyak, maka array ini sangat memegang peranan yang penting.
Contoh :
tipe_data nama_var[uk_1][uk_2]..[uk_n];dimana uk_1, uk_2, uk_n adalah ukuran dari array.
Contoh deklarasi:
int nilai[4][2][7];
ARRAY
Array merupakan koleksi data dimana setiap elemen memakai nama dan tipe yang sama serta setiap elemen diakses denagn membedakan index array-nya
Dilihat dari dimensinya array dapat dibagi menjadi Array dimensi satu, array dimensi dua dan array multi-dimensi.
ARRAY DIMENSI SATU
Bentuknya :
Tipe nama_var[ukuran];
Dengan :
Tipe : menyatakan jenis elemen array (int, char, unsigned, dan lain-lain)
Ukuran : menyatakan jumlah maksimal elemen array
Contoh :
Float nilai_ujian[5];
Pada turbo C++ array disimpan dalam memori secara berurutan. Elemen pertama berindeks nol digambarkan sebagai berikut :
Nilai_ujian[0]
Nilai_ujian[1]
Nilai_ujian[2]
Nilai_ujian[3]
Nilai_ujian[4]
Masing-masing berbentuk float dan berjumlah 5 elemen.
Selain itu, deklarasi array juga dapat berupa :
Static int bulan[12]={1,2,3,4,5,6,7,8,9,10,11,12}
Sesuai dengan deklarasi array diatas, maka isi variable array telah ditentukan yaitu :
Bulan[0] bernilai 1
Bulan[1] bernilai 2
Bulan[2] bernilai 3
Bulan[3] bernilai 4
Bulan[4] bernilai 5
Bulan[5] bernilai 6
Bulan[6] bernilai 7
Bulan[7] bernilai 8
Bulan[8] bernilai 9
Bulan[9] bernilai 10
Bulan[10] bernilai 11
Bulan[11] bernilai 12
Untuk memperjelas tentang array dimensi satu, perhatikan maslah berikut ini :
Misalkan Anda diminta membuat algoritma dan program untuk menampilkan bilangan dari 1 sampai bilangan 10, dengan pangkatnya masing-masing. Adapun batas nilai maksimal yang disimpan adalah 100.
Sesuai yang telah Anda pelajari , bahwa bilangan 1 pangkatnya adalah 1. Hasil ini diperoleh dari 1*1, kemudian bilangan 2 pangkatnya adalah 4, hasil ini diperoleh dari 2*2 sampai bilangan 10 yang pangkatnya adalah 100, hasil ini diperoleh dari 10*10.
Algoritma dari permasalahan diatas adalah berikut ini :
1. Tentukan elemen array untuk menampung nilai perkalian
2. Tentukan nilai awal indeks, batas akhir indeks dan kenaikannya (dalam hal ini , nilai awal indeks adalah 0, batas akhir indeks adalah 10, dan kenaikannya adalah 1)
3. Lakukan perulangan sesuai langkah 2
4. Nilai awal indeks ditambah dengan 1
5. Lakukan perkalian masing-masing elemen array sampai batas akhir indeks terpenuhi.
6. Tampilkan perkalian semua elemen array
7. Selesai .
Contoh program array dimensi satu
/*Program :array2.cpp*/
#include
int main()
{
int square[100];
int i; /*loop index*/;
int k; /*the integer*/
/*calculate the squares */
for (i=0; i<10; i++)
{
k= i+1;
square[i]=k*k;
printf(“nPangkat dari %d adalah %d “, k, square[i]);
}
return 0;
}
Bila program dijalankan akan muncul hasil :
Pangkat dari 1 adalah 1
Pangkat dari 2 adalah 4
Pangkat dari 3 adalah 9
Pangkat dari 4 adalah 16
Pangkat dari 5 adalah 25
Pangkat dari 6 adalah 36
Pangkat dari 7 adalah 49
Pangkat dari 8 adalah 64
Pangkat dari 9 adalah 81
Pangkat dari 10 adalah 100
Penjelasan :
Dari program diatas, Anda dapat melihat ada 10 buah elemen yang masing-masing nilainya akan dipangkatkan, mulai dari 1 sampai 10. Dimana dalam memori sudah dipesan tempat sebanyak 100.
Sedangkan apabila array akan dikirim ke sebuah fungsi caranya adalah hanya dengan mencantumkan nama array tanpa diikuti dengan tanda apapun, seperti contoh berikut :
int c[5] = {-45, 0, 6, 72, 1543};
—
—
JUMLAH (c, 5)
—-
Dalam contoh diatas, yang memanggil fungsi JUMLAH dengan mengirimkan argument berupa variable array c dan sebuah konstanta 5. Perhatikan bahwa variable array ditulis hanya c tanpa notasi tambahan apapun. Deklarasi variable array yang menjadi parameter dari suatu fungsi dituliskan dengan nama variable array yang diikuti dengan tanda kurung [], tanpa menuliskan banyaknya lokasi memori yang diinginkan.
ARRAY DIMENSI DUA
Struktur array yang dibahas diatas mempunyai satu dimensi, sehingga variabelnya disebut variable array berdimensi satu. Pada bagian ini ditunjukkan array berdimensi lebih dari satu, yang sering disebut dengan array berdimensi dua.
Sebagai contoh, sebuah matrik B berukuran 2 X 3 dapat dideklarasikan dalam C seperti berikut : int B[2][3] = {[2, 4, 1}, {5, 3, 7}}; yang menempati lokasi memori dengan susunan sebagai berikut :
0 1 2
0 2 4 1
1 5 3 7
Dan definisi variable untuk setiap elemen tersebut adalah :
0 1 2
0 b[0][0] b[0][1] b[0][2]
1 b[1][0] b[1][1] b[1][2]
Sebagai implementasi dari keterangan diatas, perhatikan program berikut ini :
Contoh Program array dimensi dua
/*Program :array2.cpp*/
#include
void printArray(int[][3]);
main()
{ int matrik1[2][3] = {{1, 2, 3},{4, 5, 6}};
int matrik2[2][3] = {1, 2, 3, 4, 5};
int matrik3[2][3] = {{1, 2},{4}};
printArray (matrik1);
printArray (matrik2);
printArray (matrik3);
return 0; }
void printArray (int a[][3])
{ int i,j;
for (i=0; i<=1; i++)
{ for (j=0; j<=2; j++)
printf(“%d”,a[i][j]);;
printf(“n”);
}
}
Bila program diatas dijalankan, akan mucul hasil :
123
456
123
450
120
400
Penjelasan :
Dari program diatas untuk matrik 1, penulisannya adalah 123 456, sedangkan pada matrik 2 penulisannya adalah 123 450. 0 disini mempunyai arti tempat yang disediakan untuk data kolom ke 3 dan baris ke 2 tidak diisi. Sedangkan matrik 3 penulisannya adalah 120 400. Dari matrik 3 disini kita bisa melihat bahwa pada baris pertama kolom ketiga data tidak diisi dan dianggap 0 dan pada baris kedua kolom kedua dan ketiga juga tidak diisi juga diisi 0.
Dalam program tersebut, juga digunakan fungsi untuk menampung hasil penjumlahan matrik.
Perhatikan contoh lain :
Int datasiswa[4][3];
Deklarasi diatas digunakan untuk mendeklarasikan suatu data siswa yang berbentuk demikian :
No Nama Kelas Jumlah Siswa
Tahun 1989 Tahun 1990 Tahun 1991
1 Kelas 1 50 55 49
2 Kelas 2 60 60 55
3 Kelas 3 56 56 56
4 Kelas 4 49 50 54
Dari deklarasi diatas maka angka empat [4] menyatakan jumlah kelas, dan angka indek [3] menyatakan tahun.
Data siswa [0][2] adalah Kelas 1 dan jumlah siswa tahun 1990 yaitu 55. Atau jumlah siswa kelas 1 pada tahun 1990 adalah 55.
Bentuk data siswa dapat juga digambarkan sebagai berikut :
1 2 3
1 50 55 49
2 60 60 55
3 56 56 56
4 49 50 54
Array ini dapat pula diberi nilai tetap dengan static seperti pada array dimensi satu. Deklarasinya adalah sebagai berikut :
Static int jumlah [4][3]=
{
50, 55, 49,
60, 60, 55,
56, 56, 56,
49, 50, 54
};
ARRAY DIMENSI BANYAK
Array ini seperti array dimensi dua tetapi dapat memiliki ukuran yang lebih besar. Sebenarnya array dimensi banyak ini tidak terlalu sering digunakan, tetapi sewaktu-waktu kalau dimensi yang dibutuhkan banyak, maka array ini sangat memegang peranan yang penting.
Contoh :
tipe_data nama_var[uk_1][uk_2]..[uk_n];dimana uk_1, uk_2, uk_n adalah ukuran dari array.
Contoh deklarasi:
int nilai[4][2][7];
Minggu, 10 Januari 2010
Dan saya bersyukur di didik oleh beliau . Banyak hal-hal yang saya dapat dari di didikan beliau . Sikap untuk terus berjuang demi apapun yang di ingikan . Walaupun waktu pertama kali di didik oleh beliau rasa nya ada yang beda , tapi makin ke sini saya makin mengenal tentang beliau .
Ayah panggilan kami untuk beliau . Karna ayah adalah panutan bagi kami anak TEKOM . Apa yang ayah slalu berikan pada kami , akan kami lakukan dan ingat . Makasi ayah .
TEKOM - C ........ SIAP .............................

