Anda di halaman 1dari 12

Laporan Praktikum Mata Kuliah Pengolahan Citra

Percobaan I

1.1 Judul : Load Gambar dan Save Gambar, Membaca dan Mencopy Data Gambar, Flip
Gambar

1.2 Tujuan
Adapun tujuan dalam percobaan I ini adalah sebagai berikut:
a. Dapat membuat aplikasi load gambar dan save gambar pada software Visual Studio
2015.
b. Dapat membuat aplikasi membaca dan mencopy data gambar pada software Visual
Studio 2015.
c. Dapat membuat aplikasi flip gambar pada software Visual Studio 2015.

1.3 Tugas
Adapun tugas dalam percobaan I adalah sebagai berikut:
a. Buatlah program untuk load dan save gambar.
b. Buatlah program untuk membaca dan mencopy data gambar.
c. Buatlah program untuk flip gambar.
d. Pada komponen PictureBox, terdapat segitiga kecil dibagian atas yang digunakan untuk
mengubah size-mode. Jelaskan apa perbedaan masing-masing size-mode:
* Normal
* Stretch Image
* Auto Size
* Center Image
* Zoom
e. Jelaskan apa fungsi dari perintah pictureBox1.Image=File;.
f. Tambahkan menu pada project Image 2 yang telah dikerjakan sebelumnya untuk Flip
Vertical, Rotate 90o dan Rotate 180o.

1.4 Jawaban
Adapun jawaban dari tugas pada percobaan I adalah sebagai berikut:
a. Berikut merupakan langkah-langkah membuat aplikasi load dan save gambar.
1. Buka Visual Studio 2015.
2. Pilih File  New  New Project.
3. Pilih Visual C# [Windows Forms Application].
4. Isi Name dan Solution Name dengan “Image 1” kemudian tekan tombol [OK].
5. Kemudian muncul form baru dari project yang dibuat.
6. Buat dua buah obyek button dengan menarik komponen [Button] dari jendela
[Toolbox] kedalam form.
7. Pada Button 1, beri text “Load”.
8. Pada Button 2, beri text “Save”.
9. Tarik komponen PictureBox dari jendela [Toolbox] kedalam form. Disudut kanan atas
dari PictureBox terdapat simbol segitiga kecil. Click segitiga tersebut dan pilih size
mode dengan strecth image. Mode ini akan mengakibatkan setiap gambar yang
ditampilkan akan memenuhi ruang PictureBox.
10. Tarik komponen “OpenFileDialog” dari jendela [Toolbox] kedalam form.
11. Tarik komponen “SaveFileDialog” dari jendela [Toolbox] kedalam form.
12. Setelah menambahkan OpenFileDialog dan SaveFileDialog, maka form telah siap.

13. Kemudian klik tombol start, akan muncul tampilan hasil running seperti gambar
dibawah ini.

14. Berikut merupakan listing program load dan save gambar.


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Drawing.Imaging;
namespace Image_1
{
public partial class Form1 : Form
{
Image File;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
DialogResult d = openFileDialog1.ShowDialog();
if (d == DialogResult.OK)
{
File =
Image.FromFile(openFileDialog1.FileName);
pictureBox1.Image = File;
}
}
private void button2_Click(object sender, EventArgs e)
{
DialogResult d = saveFileDialog1.ShowDialog();
if (d == DialogResult.OK)
{
File.Save(saveFileDialog1.FileName,
ImageFormat.Jpeg);
}
}
}
}

b. Berikut merupakan langkah-langkah membuat aplikasi membaca dan mencopy data


gambar.
1. Seperti pada form di project sebelumnya, tambahkan 1 Button dan 1 PictureBox.
2. Ubah text Button 2 menjadi “Copy”.
3. Pada PictureBox 2, atur size mode dengan Strecth Image.
4. Kemudian klik tombol start, akan muncul tampilan hasil running seperti gambar
dibawah ini.

5. Berikut merupakan listing program membaca dan mencopy data gambar.


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Drawing.Imaging;
namespace Image_1
{
public partial class Form1 : Form
{
Bitmap objBitmap;
Bitmap objBitmap1;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
DialogResult d = openFileDialog1.ShowDialog();
if (d == DialogResult.OK)
{
objBitmap = new Bitmap(openFileDialog1.FileName);
pictureBox1.Image = objBitmap;
}
}
private void button2_Click(object sender, EventArgs e)
{
objBitmap1 = new Bitmap(objBitmap);
for (int x = 0; x < objBitmap.Width; x++)
for (int y = 0; y < objBitmap.Height; y++)
{
Color w = objBitmap.GetPixel(x, y);
objBitmap1.SetPixel(x, y, w);
}
pictureBox2.Image = objBitmap1;
}
}
}
}

c. Berikut merupakan langkah-langkah membuat aplikasi flip gambar.


1. Pada form di project sebelumnya, tambahkan 1 Button dan beri text “Flip”.

2. Kemudian klik tombol start, akan muncul tampilan hasil running seperti gambar
dibawah ini.
3. Berikut merupakan listing program flip gambar.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Drawing.Imaging;
namespace Image_1
{
public partial class Form1 : Form
{
Bitmap objBitmap;
Bitmap objBitmap1;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
DialogResult d = openFileDialog1.ShowDialog();
if (d == DialogResult.OK)
{
objBitmap = new Bitmap(openFileDialog1.FileName);
pictureBox1.Image = objBitmap;
}
}
private void button2_Click(object sender, EventArgs e)
{
objBitmap1 = new Bitmap(objBitmap);
for (int x = 0; x < objBitmap.Width; x++)
for (int y = 0; y < objBitmap.Height; y++)
{
Color w = objBitmap.GetPixel(x, y);
objBitmap1.SetPixel(x, y, w);
}
pictureBox2.Image = objBitmap1;
}
private void button3_Click(object sender, EventArgs e)
{
objBitmap1 = new Bitmap(objBitmap);
for (int x = 0; x < objBitmap.Width; x++)
for (int y = 0; y < objBitmap.Height; y++)
{
Color w = objBitmap.GetPixel(x, y);
objBitmap1.SetPixel(objBitmap.Width - 1 - x, y, w);
}
pictureBox2.Image = objBitmap1;
}
}
}

d. Size mode pada PictureBox.


1. Normal
Pada mode ini gambar yang akan ditampilkan akan sesuai dengan ukuran aslinya (tidak
berpengaruh pada ukuran picture box, namun gambar tidak melebihi ).

2. StrecthImage
Pada mode ini gambar yang akan ditampilkan akan sesuai dengan ukuran picture box.

3. AutoSize
Pada mode ini gambar yang ditampilkan akan mengikuti resolusi dengan skala yang
sesuai dengan format gambar sebelumnya

4. CenterImage
Pada mode ini gambar yang ditampilkan akan ditempatkan di tengah

5. Zoom
Pada mode ini gambar akan diperbesar

e. Fungsi dari perintah pictureBox1.Image=File adalah untuk menampilkan gambar yang


dipilih dari menu file ke pictureBox1.

f. Tambahkan menu pada project Image 2 yang telah dikerjakan sebelumnya untuk Flip
Vertical, Rotate 90o dan Rotate 180o.

Flip Vertical
Rotate 900

Rotate 1800
Berikut merupakan listing programnya
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Drawing.Imaging;
//Using adalah metode untuk mengimport object lain yang akan digunakan didalam aplikasi ini
namespace Image_1 //Namespace digunakan untuk memberikan nama project sehingga project
akan lebih mudah untuk diidentifikasi
{
public partial class Form1 : Form
{
Bitmap objBitmap;
Bitmap objBitmap1;
public Form1()
{
InitializeComponent(); //untuk menginisialisasi objek apa saja yanga da didalam project
tersebut (dalam hal ini objek yang diinisialisasi adalah form, coomandButton, pictureBox,
termasuk ukurannya, penempatannya dalam koordinat x dan y. Intinya adalah tentang bagaimana
form ini ditampilkan).
}
private void Form1_Load(object sender, EventArgs e)
{

private void button1_Click(object sender, EventArgs e)


{
DialogResult d = openFileDialog1.ShowDialog();
if (d == DialogResult.OK)
{
objBitmap = new Bitmap(openFileDialog1.FileName); // Membuka file pada gallery
computer
pictureBox1.Image = objBitmap;
}
}

private void button2_Click(object sender, EventArgs e)


{
objBitmap1 = new Bitmap(objBitmap); // Menyalin bitmap pada objBitmap ke
objBitmap1
for (int x = 0; x < objBitmap.Width; x++)
for (int y = 0; y < objBitmap.Height; y++)
{
Color w = objBitmap.GetPixel(x, y);
objBitmap1.SetPixel(x, y, w);
}
pictureBox2.Image = objBitmap1; // Menampilkan objBitmap1 pada picturebox2
}

private void button3_Click(object sender, EventArgs e)


{
objBitmap1 = new Bitmap(objBitmap); // Menyalin bitmap pada objBitmap ke
objBitmap1
for (int x = 0; x < objBitmap.Width; x++)
for (int y = 0; y < objBitmap.Height; y++)
{
Color w = objBitmap.GetPixel(x, y);
objBitmap1.SetPixel(objBitmap.Width - 1 - x, y, w);
}
pictureBox2.Image = objBitmap1; // Menampilkan objBitmap1 pada picturebox2
}

private void button4_Click(object sender, EventArgs e)


{
objBitmap1 = new Bitmap(objBitmap); // Menyalin bitmap pada objBitmap ke
objBitmap1
for (int x = 0; x < objBitmap.Width; x++)
for (int y = 0; y < objBitmap.Height; y++)
{
Color w = objBitmap.GetPixel(x, y);
objBitmap1.SetPixel(x, objBitmap.Height - 1 - y, w);
}
pictureBox2.Image = objBitmap1; // Menampilkan objBitmap1 pada picturebox2
}

private void button5_Click(object sender, EventArgs e)


{
// Menyalin bitmap pada objBitmap ke objBitmap1
objBitmap1 = new Bitmap(objBitmap);
// Melakukan rotasi 90 derajat pada objBitmap1
objBitmap1.RotateFlip(RotateFlipType.Rotate90FlipXY);
// Menampilkan objBitmap1 pada picturebox2
pictureBox2.Image = objBitmap1;
}

private void button6_Click(object sender, EventArgs e)


{
// Menyalin bitmap pada objBitmap ke objBitmap1
objBitmap1 = new Bitmap(objBitmap);
// Melakukan rotasi 90 derajat pada objBitmap1
objBitmap1.RotateFlip(RotateFlipType.Rotate180FlipNone);
// Menampilkan objBitmap1 pada picturebox2
pictureBox2.Image = objBitmap1;
}
}
}

1.5 Analisis Data


Pada percobaan I ini telah dibuat program untuk load dan save gambar, membaca dan
mencopy data gambar, flip gambar, flip vertical, rotate 90o dan rotate 180o, dimana dilakukan
pada software Visual Studio 2015. Berikut merupakan keterangan pada listing program lengkap
dari program load dan save gambar hingga rotate 180o.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Drawing.Imaging;
//Using adalah metode untuk mengimport object lain yang akan digunakan didalam aplikasi ini
namespace Image_1 //Namespace digunakan untuk memberikan nama project sehingga project
akan lebih mudah untuk diidentifikasi
{
public partial class Form1 : Form
{
Bitmap objBitmap;
Bitmap objBitmap1;
public Form1()
{
InitializeComponent(); //untuk menginisialisasi objek apa saja yanga da didalam project
tersebut (dalam hal ini objek yang diinisialisasi adalah form, coomandButton, pictureBox,
termasuk ukurannya, penempatannya dalam koordinat x dan y. Intinya adalah tentang bagaimana
form ini ditampilkan).
}
private void Form1_Load(object sender, EventArgs e)
{
}

private void button1_Click(object sender, EventArgs e)


{
DialogResult d = openFileDialog1.ShowDialog();
if (d == DialogResult.OK)
{
objBitmap = new Bitmap(openFileDialog1.FileName); // Membuka file pada gallery
computer
pictureBox1.Image = objBitmap;
}
}

private void button2_Click(object sender, EventArgs e)


{
objBitmap1 = new Bitmap(objBitmap); // Menyalin bitmap pada objBitmap ke
objBitmap1
for (int x = 0; x < objBitmap.Width; x++)
for (int y = 0; y < objBitmap.Height; y++)
{
Color w = objBitmap.GetPixel(x, y);
objBitmap1.SetPixel(x, y, w);
}
pictureBox2.Image = objBitmap1; // Menampilkan objBitmap1 pada picturebox2
}

private void button3_Click(object sender, EventArgs e)


{
objBitmap1 = new Bitmap(objBitmap); // Menyalin bitmap pada objBitmap ke
objBitmap1
for (int x = 0; x < objBitmap.Width; x++)
for (int y = 0; y < objBitmap.Height; y++)
{
Color w = objBitmap.GetPixel(x, y);
objBitmap1.SetPixel(objBitmap.Width - 1 - x, y, w);
}
pictureBox2.Image = objBitmap1; // Menampilkan objBitmap1 pada picturebox2
}

private void button4_Click(object sender, EventArgs e)


{
objBitmap1 = new Bitmap(objBitmap); // Menyalin bitmap pada objBitmap ke
objBitmap1
for (int x = 0; x < objBitmap.Width; x++)
for (int y = 0; y < objBitmap.Height; y++)
{
Color w = objBitmap.GetPixel(x, y);
objBitmap1.SetPixel(x, objBitmap.Height - 1 - y, w);
}
pictureBox2.Image = objBitmap1; // Menampilkan objBitmap1 pada picturebox2
}

private void button5_Click(object sender, EventArgs e)


{
// Menyalin bitmap pada objBitmap ke objBitmap1
objBitmap1 = new Bitmap(objBitmap);
// Melakukan rotasi 90 derajat pada objBitmap1
objBitmap1.RotateFlip(RotateFlipType.Rotate90FlipXY);
// Menampilkan objBitmap1 pada picturebox2
pictureBox2.Image = objBitmap1;
}

private void button6_Click(object sender, EventArgs e)


{
// Menyalin bitmap pada objBitmap ke objBitmap1
objBitmap1 = new Bitmap(objBitmap);
// Melakukan rotasi 90 derajat pada objBitmap1
objBitmap1.RotateFlip(RotateFlipType.Rotate180FlipNone);
// Menampilkan objBitmap1 pada picturebox2
pictureBox2.Image = objBitmap1;
}
}
}

Anda mungkin juga menyukai