Jumat, 04 Mei 2018

Membuat Aplikasi Image Resizer C#

Aplikasi ini adalah adaptasi dari modul pada mata kuliah Network Programming II. Aplikasi ini dapat me-resize image dengan format .jpg sesuai keinginan, memperbesar atau memperkecil tinggi dan lebar menggunakan toolbox TrackBar ditambah dengan button rotate dan reset.

1. Bahan - bahan toolbox nya ada pada tabel dibawah ini :




2. Tampilan Form





3. Listing Program


Judul Spoiler:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Drawing.Imaging;
using System.Drawing.Drawing2D;

namespace image_resizer
{
    public partial class Form1 : Form
    {

        Bitmap newB;
        Image gambar;
        Boolean opened = false;

        public Form1()
        {
            InitializeComponent();
            this.StartPosition = FormStartPosition.CenterScreen;
            this.FormBorderStyle = FormBorderStyle.FixedSingle;
            this.MaximizeBox = false;
            this.MinimizeBox = false;
            tsize.MaxLength = 3;
            tsize.Enabled = false;
            trackBar1.Enabled = false;
            trackBar2.Enabled = false;
            btnResize.Enabled = false;
            btnReset.Enabled = false;
            btnRotate.Enabled = false;
            bsimpan.Enabled = false;
            panel1.AutoScroll = true;
            
        }

        void bukagambar()
        {
            DialogResult bukagambar = openFileDialog1.ShowDialog();
            if (bukagambar == DialogResult.OK)
            {
                gambar = Image.FromFile(openFileDialog1.FileName);
                newB = new Bitmap(openFileDialog1.FileName);
                picture.Image = gambar;
                opened = true;
                picture.SizeMode = PictureBoxSizeMode.StretchImage;
                picture.ImageLocation = openFileDialog1.FileName;
                ltinggi.Text = gambar.Height.ToString();
                llebar.Text = gambar.Width.ToString();
                trackBar1.Value = picture.Size.Width;
                trackBar2.Value = picture.Size.Height;
                trackBar1.Enabled = true;
                trackBar2.Enabled = true;
                btnResize.Enabled = true;
                btnReset.Enabled = true;
                btnRotate.Enabled = true;
                bsimpan.Enabled = true;
                tsize.Enabled = true;
                tsize.Clear();
            }
        }

        void ubahsize()
        {
            if (tsize.Text != "")
            {
                int persen = Convert.ToInt32(tsize.Text);
                int tinggi = (persen * Convert.ToInt32(ltinggi.Text)) / 100;
                int lebar = (persen * Convert.ToInt32(llebar.Text)) / 100;
                ltinggi.Text = Convert.ToString(tinggi);
                llebar.Text = Convert.ToString(lebar);
                trackBar1.Value = lebar;
                trackBar2.Value = tinggi;
                picture.Size = new Size(picture.Size.Width, trackBar1.Value);
                picture.Size = new Size(picture.Size.Height, trackBar2.Value);
            }
        }

        void simpangambar()
        {
            if (picture.Image != null)
            {
                int tinggi = Convert.ToInt32(ltinggi.Text);
                int lebar = Convert.ToInt32(llebar.Text);
                Bitmap ukuranbaru = new Bitmap(lebar, tinggi,
                System.Drawing.Imaging.PixelFormat.Format24bppRgb);
                Graphics gbr = Graphics.FromImage(ukuranbaru);
                gbr.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighSpeed;
                gbr.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighSpeed;
                gbr.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
                gbr.PixelOffsetMode = System.Drawing.Drawing2D.PixelOffsetMode.HighSpeed;
                Rectangle rect = new Rectangle(0, 0, lebar, tinggi);
                gbr.DrawImage(gambar, rect);
                SaveFileDialog simpan = new SaveFileDialog();
                simpan.Filter = "Jpeg Format|*.Jpg";
                simpan.RestoreDirectory = true;

                if (simpan.ShowDialog() != DialogResult.Cancel)
                {
                    this.picture.Image.Save(simpan.FileName);
                    ukuranbaru.Dispose();
                    MessageBox.Show("Gambar Berhasil Disimpan", "Info");
                }
            }

            else
            {
                MessageBox.Show("Gambar Masih Kosong");
            }
        }

        private void Bbuka_Click(object sender, EventArgs e)
        {
            bukagambar();
        }

        private void btnResize_Click(object sender, EventArgs e)
        {
            ubahsize();
        }

        private void bsimpan_Click(object sender, EventArgs e)
        {
            simpangambar();
        }

        private void trackBar1_Scroll(object sender, EventArgs e)
        {
            picture.Size = new Size(trackBar1.Value, picture.Size.Height);
            llebar.Text = trackBar1.Value.ToString();
        }


        private void trackBar2_Scroll(object sender, EventArgs e)
        {
            picture.Size = new Size(picture.Size.Width, trackBar2.Value);
            ltinggi.Text = trackBar2.Value.ToString();
        }

        private void btnRotate_Click(object sender, EventArgs e)
        {
            newB.RotateFlip(RotateFlipType.Rotate90FlipXY);
            picture.Image = newB;
            ltinggi.Text = gambar.Width.ToString();
            llebar.Text = gambar.Height.ToString();
            trackBar1.Value = picture.Size.Width;
            trackBar2.Value = picture.Size.Height;
            picture.Size = new Size(picture.Size.Width, trackBar2.Value);
            picture.Size = new Size(picture.Size.Height, trackBar1.Value);
        }

        private void btnReset_Click(object sender, EventArgs e)
        {
            if (opened)
            {
                gambar = Image.FromFile(openFileDialog1.FileName);
                newB = new Bitmap(openFileDialog1.FileName);
                picture.Image = gambar;
                opened = true;
                picture.SizeMode = PictureBoxSizeMode.StretchImage;
                picture.ImageLocation = openFileDialog1.FileName;
                ltinggi.Text = gambar.Height.ToString();
                llebar.Text = gambar.Width.ToString();
                trackBar1.Value = picture.Size.Width;
                trackBar2.Value = picture.Size.Height;
                int tinggi = Convert.ToInt32(ltinggi.Text);
                int lebar = Convert.ToInt32(llebar.Text);
                ltinggi.Text = Convert.ToString(tinggi);
                llebar.Text = Convert.ToString(lebar);
                trackBar1.Value = lebar;
                trackBar2.Value = tinggi;
                picture.Size = new Size(picture.Size.Width, trackBar1.Value);
                picture.Size = new Size(picture.Size.Height, trackBar2.Value);
            }

            else { }
        }
    }

}



3. Running Program







Aplikasi Notepad C#

Kali ini saya akan memberikan tutorial mengenai progrm berbahasa C# yaitu notepad, Aplikasi ini dibuat untuk membuka file yang berextension .txt, pertama yang harus dipersiapkan yaitu komponen toolbox untuk mengisi form diantaranya ada pada tabel dibawah :

1. tabel komponen Form1












2. tabel komponen Form Find (frmFind)






3. tabel komponen Form About (frmAbout)








bagi yang belum tau cara add form dalam satu project bisa dilihat gambar dibawah ini :


Klik pada project yang dibuat yaitu notepad pilih add lalu pilih new item nanti tampil jendela baru seperti gambar dibawah :



Pilih Windows Form lalu isi nama sesuai keinginan setelah selesai klik add.

4. Tampilan Form1



5. Tampilan Form Find



6. Tampilan Form About


6. Listing Program untuk Form1

Form1:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
//tambahkan
using Microsoft.Win32;
using System.IO;
using System.Threading.Tasks;
using System.Text.RegularExpressions;

namespace Notepad
{
    public partial class Form1 : Form
    {
        public static string Findtext;
        public static Boolean matchcase;
        int startpos;


        public Form1()
        {
            InitializeComponent();
        }

        void bukafile() //fungsi untuk membuka file ".txt"
        {
            OpenFileDialog buka = new OpenFileDialog();
            buka.DefaultExt = ".txt";
            buka.Filter = " Text Documents | *.txt";
            buka.FileName = "";
            buka.ValidateNames = true;
            buka.Multiselect = false;

            if (buka.ShowDialog() == DialogResult.OK)
            {
                string fileTerpilih = buka.FileName;
                if (fileTerpilih != "")
                {
                    rtinput.LoadFile(fileTerpilih, RichTextBoxStreamType.PlainText);
                }
            }
        }


        void simpanfile() //fungsi untuk menyimpan file
        {
            SaveFileDialog simpan = new SaveFileDialog();
            simpan.Filter = "Text Documents | *.txt";
            simpan.RestoreDirectory = true;

            if (simpan.ShowDialog() != DialogResult.Cancel)
            {
                StreamWriter filesimpan = new StreamWriter(File.Create(simpan.FileName));
                filesimpan.Write(rtinput.Text);
                filesimpan.Dispose();
            }
        }



        private void Form1_Load(object sender, EventArgs e)
        {

            startpos = 0;
            if (String.IsNullOrEmpty(rtinput.Text))
            {

                findToolStripMenuItem.Enabled = false;
                findNextToolStripMenuItem.Enabled = false;
            }

            else
            {
                findToolStripMenuItem.Enabled = true;
            }
        }


        //====================== ISI MENUSTRIP "FILE" ==============================//


        private void sNew_Click(object sender, EventArgs e)
        {
            rtinput.Clear();
        }


        private void bbukafile_Click(object sender, EventArgs e)
        {
            if (rtinput.Text != "")
            {
                var pesan = MessageBox.Show("File belum tersimpan, Simpan terlebih dahulu???", "konfirmasi",
                MessageBoxButtons.YesNo, MessageBoxIcon.Warning);

                if (pesan == DialogResult.Yes)
                {
                    simpanfile();
                    bukafile();
                }

                else
                {
                    bukafile();
                }
            }

            else
            {
                bukafile();
            }
        }

        private void bsimpan_Click(object sender, EventArgs e)
        {
            simpanfile();
        }

        private void exitToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }


        //======================== ISI MENU EDIT ========================//



        private void aboutToolStripMenuItem_Click(object sender, EventArgs e)
        {
            using (frmAbout frm = new frmAbout())
            {
                frm.ShowDialog();
            }
        }

        private void undoToolStripMenuItem_Click(object sender, EventArgs e)
        {
            rtinput.Undo();
        }

        private void redoToolStripMenuItem_Click(object sender, EventArgs e)
        {
            rtinput.Redo();
        }

        private void cutToolStripMenuItem_Click(object sender, EventArgs e)
        {
            rtinput.Cut();
        }

        private void copyToolStripMenuItem_Click(object sender, EventArgs e)
        {
            rtinput.Copy();
        }

        private void pasteToolStripMenuItem_Click(object sender, EventArgs e)
        {
            rtinput.Paste();
        }

        private void deleteToolStripMenuItem_Click(object sender, EventArgs e)
        {
            rtinput.SelectedText = "";
        }

        private void selectAllToolStripMenuItem_Click(object sender, EventArgs e)
        {
            rtinput.SelectAll();
        }


        private void findToolStripMenuItem_Click(object sender, EventArgs e)
        {

            frmFind f1 = new frmFind();
            f1.ShowDialog();
            //ShowForm(frmFind.inst);

                   

            if (startpos >= 0)
            {
                if (matchcase == true)
                {
                    if (rtinput.Text.IndexOf(Findtext) == -1)
                    {
                        MessageBox.Show("Masukan kata yang ingin dicari");
                        startpos = 0;
                    }

                    else
                    {
                        rtinput.Find(Findtext, (startpos + 1), rtinput.Text.Length, RichTextBoxFinds.MatchCase);
                        startpos = rtinput.Text.IndexOf(Findtext, startpos) + 1;
                    }
                }

                else
                {
                    if (rtinput.Text.IndexOf(Findtext) == -1)
                    {
                        MessageBox.Show("Masukan kata yang ingin dicari");
                        startpos = 0;
                    }

                    else
                    {
                        rtinput.Find(Findtext, (startpos + 1), rtinput.Text.Length, RichTextBoxFinds.None);
                        startpos = rtinput.Text.IndexOf(Findtext, startpos) + 1;
                    }
                }
            }

            if (startpos == 0)
            {
                MessageBox.Show("pencarian Selesai");
                startpos = 0;
            }

            findNextToolStripMenuItem.Enabled = true;
        }



        private void findNextToolStripMenuItem_Click(object sender, EventArgs e)
        {

            if (startpos >= 0)
            {
                if (matchcase == true)
                {
                    if (rtinput.Text.IndexOf(Findtext) == -1)
                    {
                        MessageBox.Show("Masukan kata yang ingin dicari");
                        startpos = 0;
                    }

                    else
                    {
                        rtinput.Find(Findtext, startpos, rtinput.Text.Length, RichTextBoxFinds.None);
                        startpos = rtinput.Text.IndexOf(Findtext, startpos) + 1;
                    }
                }

                else
                {
                    if (rtinput.Text.IndexOf(Findtext) == -1)
                    {
                        MessageBox.Show("Masukan kata yang ingin dicari");
                        startpos = 0;
                    }

                    else
                    {
                        rtinput.Find(Findtext, startpos, rtinput.Text.Length, RichTextBoxFinds.None);
                        startpos = rtinput.Text.IndexOf(Findtext, startpos) + 1;
                    }
                }
            }

            if (startpos == 0)
            {
                MessageBox.Show("pencarian Selesai");
                startpos = 0;
            }
        }


        private void dateTimeToolStripMenuItem_Click(object sender, EventArgs e)
        {
            rtinput.Text = DateTime.Now.ToString();
        }

        private void rtinput_TextChanged(object sender, EventArgs e)
        {
            startpos = 0;

            if (String.IsNullOrEmpty(rtinput.Text))
            {

                findToolStripMenuItem.Enabled = false;
                findNextToolStripMenuItem.Enabled = false;
            }

            else
            {
                findToolStripMenuItem.Enabled = true;
            }
        }

        private void wordToolStripMenuItem_Click(object sender, EventArgs e)
        {
         
            if(wordToolStripMenuItem.Checked == true)
            {
                rtinput.WordWrap = true;
            }

            else
            {
                rtinput.WordWrap = false;
            }
        }

        private void fontToolStripMenuItem1_Click(object sender, EventArgs e)
        {
            FontDialog font1 = new FontDialog();
            DialogResult openFont = font1.ShowDialog();

            if (openFont == DialogResult.OK)
            { 
                rtinput.Font = font1.Font;
            }
        }

        private void backgroundColorToolStripMenuItem_Click(object sender, EventArgs e)
        {
            ColorDialog clr = new ColorDialog();
            DialogResult openClr = clr.ShowDialog();

            if (openClr == DialogResult.OK)
            {
                rtinput.BackColor = clr.Color;
            }
        }
    }
}



7. Listing Program untuk Form Find

Form Find:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Notepad
{
    public partial class frmFind : Form
    {
     
        public frmFind()
        {
            InitializeComponent();
            //Form1 frm1 = new Form1();
            //frm1.Visible = true;
         
         
        }

        private void frmFind_Load(object sender, EventArgs e)
        {
            button1.Enabled = false;
         
        }
     
        private void textBox1_TextChanged(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(textBox1.Text))
            {
                button1.Enabled = false;
            }

            else
            {
                button1.Enabled = true;
            }
        }


        private void button1_Click(object sender, EventArgs e)
        {

            if (checkBox1.Checked == true)
            {
                Form1.matchcase = true;
            }

            else
            {
                checkBox1.Checked = false;
            }

            Form1.Findtext = textBox1.Text;
            this.Close();
        }

        private void button2_Click(object sender, EventArgs e)
        {
            Form1.Findtext = "";
            this.Close();
         
        }
    }
}



8. Listing Program untuk Form About

Form About:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Notepad
{
    public partial class frmAbout : Form
    {
        public frmAbout()
        {
            InitializeComponent();
        }

        private void frmAbout_Load(object sender, EventArgs e)
        {
            lbProductName.Text = string.Format("Product Name : {0}", Application.ProductName);
            lbProductVersion.Text = string.Format("Version : {0}", Application.ProductVersion);
            lbCopyright.Text = "Copyright ©  2018 By Visual Studio 2010";
        }

        private void btnOK_Click(object sender, EventArgs e)
        {
            this.Close();
        }
    }
}



9. Running Program



Minggu, 15 April 2018

Aplikasi Image Resizer C# 2010



Aplikasi image resizer adalah aplikasi untuk mengubah ukuran gambar yang mempunyai format .JPEG. Dibawah ini langkah-langkahnya.


a). Tampilan Gambar






















isi angka yang diinginkan pada textbox misalnya 20 lalu tekan ENTER, maka tinggi dan lebar gambar akan berkurang dari gambar aslinya seperti berikut :


























b). Komponen dalam Form













untuk textbox1 kita buat key event nya, caranya klik textbox lihat jendela properties pilih event dan buat nama tsize, event keydown ini berfungsi apabila kita menekan salah satu tombol non character pada keyboard yaitu ENTER, sedangkan event keypress tidak berfungsi apabila tombol yang digunakan non character.
















c). Listing Program / Coding Project



































Aplikasi Billing C# 2010

Sama seperti pembuatan aplikasi stopwatch sebelumnya namun kita tambahkan satu buah textbox yang akan digunakan menjadi sebuah input, Masukkan Nama untuk Log In pada Aplikasi Billing.

Pembuatan aplikasi ini ditujukan untuk tugas mata kuliah Network Programming II


a). Gambar Aplikasi








































Kondisi

- Pertama kali program dijalankan label 2 tidak terllihat
- Isi nama pada textbox, jika nama tidak diisi maka akan keluar messagebox seperti berikut :





















- Setelah isi nama kemudian klik tombol log in, maka tombol akan berubah text menjadi Stop, dan    label 2 akan muncul dan menghitung dari detik pertama
- Setiap 30 menit akan ditambahkan biaya sebesar 1000 rupiah
- Ketika di klik stop, maka akan muncul message box sebagai berikut :





















b). Komponen dalam Form
















c). Listing Program


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
//tambahkan
using System.Diagnostics;

namespace Billing
{
    public partial class Form1 : Form
    {
        private Stopwatch wkt = null;

        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            if (textBox1.Text != "")
            {
                wkt = new Stopwatch();

                if (button1.Text == "Log In")
                {
                    label2.Visible = true;
                    wkt.Start();
                    button1.Text = "Stop";
                }

                else if (button1.Text == "Stop")
                {
                    wkt.Stop();

                    if (wkt.Elapsed.TotalMinutes <= 30.00)
                    {
                        MessageBox.Show("Jumlah tagihan anda sebesar Rp.1000", "Total Tagihan");
                    }

                    else if (wkt.Elapsed.TotalHours <= 1.00)
                    {
                        MessageBox.Show("Jumlah Tagihan anda sebesar Rp.2000", "Total Tagihan");
                    }

                    wkt.Reset();
                    label2.Visible = false;
                    button1.Text = "Log In";
                    textBox1.Text = null;
                }
            }

            else if (textBox1.Text == "")
            {
                MessageBox.Show("Nama Harus diisi! ", "Important Message");
            }
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            if (wkt != null)
            {
                label2.Text = wkt.Elapsed.ToString(@"hh\:mm\:ss");
            }
        }
    }
}

Aplikasi Stopwatch C# 2010





Pada pembelajaran sebelumnya telah diperkenalkan bagaimana cara membuat aplikasi dengan GUI pada Microsoft Visual Studio 2010. Dalam C# sebuah form terbentuk dalam sebuah class,sebenarnya memiliki dua buah class. Contoh dimisalkan terdapat sebuah form dengan nama “form1.cs” maka form1.cs memiliki dua class yaitu “form1.cs” dan “form1.cs[design]”. ketika kita menggunakan tampilan desain (GUI) maka class yang digunakan adalah class utama yaitu “form1.cs[design]”, sedangkan semua hal yang berhubungan dengan kode dalam desain class tersebut terletak pada “form1.cs”.

Pembuatan aplikasi ini ditujukan untuk menyelesaikan tugas mata kuliah Network Programming II.

a). Gambar Aplikasi















b). Komponen dalam Form












c). Listing Program