Text Editor Sederhana



kali ini kita akan coba membuat sebuah aplikasi text editor seperti gambar diatas ini berikut design dan codingan nya yang akan dijelaskan dibawah :



buatlah design seperti gambar diatas sesuai kan (Name) dari tiap komponen yang ada pada design tersebut.

Berikut kodingan untuk program tersebut sesuaikan penempatan kodingan dengan button yang diminta. Karena jika tidak sesuai kodingan tersebut tidak akan bekerja. kita bisa lihat disetiap kdoingan tesbut terdapat nama fungsi yang akan menjadi acuan dibutton mana kita bisa menempatkan kodingan tersebut.

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.IO;

namespace SaveFile
{
    public partial class FormSimpleEditor : Form
    {
        String filename;
        Boolean newfile = false;
        //
        public FormSimpleEditor()
        {
            InitializeComponent();
            //
            textboxArea.Enabled = false;
            labelFilename.Text = "";
        }

        private void labelOpen_Click(object sender, EventArgs e)
        {
            OpenFileDialog window_open_dialog = new OpenFileDialog();
            window_open_dialog.Title = "Silahkan pilih file anda";
            window_open_dialog.Filter = "Text files(*.txt)|*.txt|Semua files(*.*)|*.*";

            if (window_open_dialog.ShowDialog() == DialogResult.OK)
            {
                StreamReader stream_read = new StreamReader(File.OpenRead(window_open_dialog.FileName));
                textboxArea.Text = stream_read.ReadToEnd();
                stream_read.Dispose();
                //
                textboxArea.Enabled = true;
                filename = window_open_dialog.FileName;
                labelFilename.Text = "(*Sedang diedit) "+filename;
            }
        }

        private void buttonSave_Click(object sender, EventArgs e)
        {
            if (newfile == true)
            {
                SaveFileDialog window_save_dialog = new SaveFileDialog();
                window_save_dialog.Title = "Pilih tempat penyimpanan";
                window_save_dialog.Filter = "Text files (*.txt)|*.txt|Semua files (*.*)|*.*";
                //
                if (window_save_dialog.ShowDialog() == DialogResult.OK)
                {
                    StreamWriter stream_write = new StreamWriter(File.Create(window_save_dialog.FileName));
                    stream_write.Write(textboxArea.Text);
                    stream_write.Dispose();
                    //
                    filename = window_save_dialog.FileName;
                    labelFilename.Text = filename;
                    newfile = false;
                }
            }
            else
            {
                StreamWriter stream_write = new StreamWriter(filename);
                stream_write.Write(textboxArea.Text);
                stream_write.Dispose();
                //
                labelFilename.Text = filename;
            }
        }

        private void labelNew_Click(object sender, EventArgs e)
        {
            newfile = true;
            textboxArea.Enabled = true;
            textboxArea.Text = "";
            labelFilename.Text = "Filename: *Untitled";
        }

        private void labelAbout_Click(object sender, EventArgs e)
        {
            String information = "Simple File Editor\n\nMediatutorial.web.id\nOKie Eko Wardoyo";
            MessageBox.Show(information, "About", MessageBoxButtons.OK, MessageBoxIcon.Information);
        }

        private void buttonCancel_Click(object sender, EventArgs e)
        {
            Close();
        }

        private void openToolStripMenuItem_Click(object sender, EventArgs e)
        {

        }

        private void openToolStripMenuItem1_Click(object sender, EventArgs e)
        {
            OpenFileDialog window_open_dialog = new OpenFileDialog();
            window_open_dialog.Title = "Silahkan pilih file anda";
            window_open_dialog.Filter = "Text files(*.txt)|*.txt|Semua files(*.*)|*.*";

            if (window_open_dialog.ShowDialog() == DialogResult.OK)
            {
                StreamReader stream_read = new StreamReader(File.OpenRead(window_open_dialog.FileName));
                textboxArea.Text = stream_read.ReadToEnd();
                stream_read.Dispose();
                //
                textboxArea.Enabled = true;
                filename = window_open_dialog.FileName;
                labelFilename.Text = "(*Sedang diedit) " + filename;
            }
        }

        private void newToolStripMenuItem_Click(object sender, EventArgs e)
        {
            newfile = true;
            textboxArea.Enabled = true;
            textboxArea.Text = "";
            labelFilename.Text = "Filename: *Untitled";
        }

        private void saveToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (newfile == true)
            {
                SaveFileDialog window_save_dialog = new SaveFileDialog();
                window_save_dialog.Title = "Pilih tempat penyimpanan";
                window_save_dialog.Filter = "Text files (*.txt)|*.txt|Semua files (*.*)|*.*";
                //
                if (window_save_dialog.ShowDialog() == DialogResult.OK)
                {
                    StreamWriter stream_write = new StreamWriter(File.Create(window_save_dialog.FileName));
                    stream_write.Write(textboxArea.Text);
                    stream_write.Dispose();
                    //
                    filename = window_save_dialog.FileName;
                    labelFilename.Text = filename;
                    newfile = false;
                }
            }
            else
            {
                StreamWriter stream_write = new StreamWriter(filename);
                stream_write.Write(textboxArea.Text);
                stream_write.Dispose();
                //
                labelFilename.Text = filename;
            }
        }

        private void exitToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Close();
        }

        private void aboutToolStripMenuItem_Click(object sender, EventArgs e)
        {
            String information = "Simple File Editor\n\nMediatutorial.web.id\nOKie Eko Wardoyo";
            MessageBox.Show(information, "About", MessageBoxButtons.OK, MessageBoxIcon.Information);
        }

        private void fontStyleToolStripMenuItem_Click(object sender, EventArgs e)
        {
            fontDialog1.Font = textboxArea.Font;
            fontDialog1.Color = textboxArea.ForeColor;

            if (fontDialog1.ShowDialog() != DialogResult.Cancel)
            {
                textboxArea.Font = fontDialog1.Font;
                textboxArea.ForeColor = fontDialog1.Color;
            }
        }

        private void styleToolStripMenuItem_Click(object sender, EventArgs e)
        {
            fontDialog1.Font = textboxArea.Font;
            fontDialog1.Color = textboxArea.ForeColor;

            if (fontDialog1.ShowDialog() != DialogResult.Cancel)
            {
                textboxArea.Font = fontDialog1.Font;
                textboxArea.ForeColor = fontDialog1.Color;
               
            }
        }

        private void colorToolStripMenuItem_Click(object sender, EventArgs e)
        {
            colorDialog1.Color = textboxArea.ForeColor;
            if (colorDialog1.ShowDialog() == DialogResult.OK)
            {
                textboxArea.ForeColor = colorDialog1.Color;
            }
        }

        private void backgroundToolStripMenuItem_Click(object sender, EventArgs e)
        {
            colorDialog1.Color = textboxArea.BackColor;
            if (colorDialog1.ShowDialog() == DialogResult.OK)
            {
                textboxArea.BackColor = colorDialog1.Color;
            }
        }

        private void menuStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
        {

        }

        private void helpToolStripMenuItem_Click(object sender, EventArgs e)
        {

        }
    }
}


READMORE
 

Image Resolution




Pada kesempatan kali ini saya akan memodifikasi aplikasi image resolution menjadi lebih kompleks dari yang sudah dibuat sebelumnya. Aplikasi ini dapat dimanfaatkan untuk mengubah resolusi dari sebuah gambar dan dapat kita atur tempat penyimpanana yang kita inginkan .

Pertama kita buat design seperti gambar diatas lalu sesuaikan (name) nya seperti gambar dibawah ini:




Masukan kodingan dibawah ini untuk memprogram aplikasi diatas :

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

namespace Resize_Foto
{
    public partial class Form1 : Form
    {
        public int[] wp81format =
           new int[] { 24, 33, 44, 50, 58, 62, 70, 71, 99, 106, 120, 150, 170, 210, 360 };

        public int[] w81format =
            new int[] { 16, 24, 30, 32, 33, 42, 43, 48, 50, 54, 56, 70, 90, 98, 120, 126, 150, 210, 248, 256, 270, 310, 434, 558 };

        public List<Dictionary<string, int>> listMeong = new List<Dictionary<string, int>>();

        public string filename = "";

        public Form1()
        {
            InitializeComponent();

        }

selanjutnya klik dua kali pada button OPEN masukan kodingan seperti dibawah ;

            OpenFileDialog ofd = new OpenFileDialog();
            ofd.Title = "Buka Foto";
            DialogResult dr = ofd.ShowDialog();

            if (dr == DialogResult.OK)
            {
                pictureBoxOpen.Image = Image.FromFile(ofd.FileName);
                filename = ofd.FileName;
            }

selanjutnya klik dua kali pada button REMOVE :

             try
            {
                listBoxResolution.Items.RemoveAt(listBoxResolution.SelectedIndex);
            }
            catch (Exception ex)
            {

            }

selanjutnya klik button ADD pada design tersebut lalu masukan koding dibawah ini :

            int width, height;
            if (int.TryParse(txtWidth.Text, out width) && int.TryParse(txtHeight.Text, out height))
            {
                listBoxResolution.Items.Add(width + "x" + height);
            }
            else
            {
                MessageBox.Show("Inputkan Resolusi dengan benar !!!");
            }
tahap berikutnya kodingan untuk button RESIZE :

            if (listBoxResolution.Items.Count != 0)
            {
                FolderBrowserDialog sfd = new FolderBrowserDialog();
                sfd.ShowNewFolderButton = true;

                DialogResult dr = sfd.ShowDialog();

                if (dr == DialogResult.OK)
                {
                    foreach (string i in this.listBoxResolution.Items)
                    {
                        using (Image src = Image.FromFile(filename))
                        {
                            string[] splitter = i.Split('x');

                            using (Bitmap dst = new Bitmap(int.Parse(splitter[0]), int.Parse(splitter[1])))
                            {
                                using (Graphics g = Graphics.FromImage(dst))
                                {
                                    g.SmoothingMode = SmoothingMode.AntiAlias;
                                    g.InterpolationMode = InterpolationMode.HighQualityBicubic;
                                    g.DrawImage(src, 0, 0, dst.Width, dst.Height);
                                }

                                dst.Save(sfd.SelectedPath + "\\" + i + ".png", ImageFormat.Png);
                            }
                        }
                    }

                    MessageBox.Show("Resize Success !!!");
                }
            }

Setelah semua selesai selanjutnya tahap debugging . Run and Done ! :D

READMORE
 

Image Filtering





Kali ini kita akan coba membuat suatu aplikasi yang dimana aplikasi ini dapat mengedit foto atau gambar dengan berbagai macam fitur fitur yang mungkin masih dibilang sederhana dibandingkan dengan aplikasi editing foto lainnya semacam Photoshop, Coreldraw, Picasa, dan masih banyak lagi . 

Fitur yang akan kita buat pada aplikasi editing foto kali ini ada dua yang pertama menambahkan filter black and white untuk mengubah foto menjadi kesan hitam putih secara keseluruhan. Dan yang kedua fitur Grey akan mengubah efek foto menjadi kesan abu abu secara keseluruhan.

Pertama kali kita buat designnya seperti gambar diatas lalu berikan label pada setiap bagiannya seperti gambar dibawah ini :


Setelah design dibuat lanjut ke tahap pengkodingan klik dua kali pada bagian atas Form lalu koding mulai dari atas seperti kodingan dibawah ini :

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.IO;

namespace editpic
{
    public partial class Form1 : Form
    {
        private string nmfile;
       
      
        public Form1()
        {
            InitializeComponent();
        }


klik dua kali pada button Open  lalu masukan kodingan dibawah ini diantara dua buah kurung kurawal

            //if (isi == 3)
            //{
            //isi = 1;
            //}
            OpenFileDialog ofd = new OpenFileDialog();
            ofd.Filter = "JPEG File|*.jpg|BMP File|*bmp|PNG File|*.png";
            ofd.InitialDirectory = "D:/";
            if (ofd.ShowDialog() == DialogResult.OK)
            {
                //if (isi == 1)
                //{
                nmfile = ofd.FileName;
                pictureBox1.Image = Image.FromFile(ofd.FileName);
                //}
                //else if (isi == 2)
                //{
                //nmfile = ofd.FileName;
                //pictureBox2.Image = Image.FromFile(ofd.FileName);
                //}
                //isi++;
            }

Selanjutnya klik dua kali pada button Close lalu masukan kodingan dibawah :

            Close();

kodingan  diatas digunakan untuk menutup sebuah aplikasi 

Berikutnya kodingan untuk button B/W ;

            Bitmap bmg1, bmg2;
            bmg1 = new Bitmap(pictureBox1.Image);
           
            int nR, nG, nB, nA, n;
            nA = 0;
            if (bmg1 != null)
            {
                bmg2 = new Bitmap(bmg1);
                for (int i = 0; i <= bmg1.Width - 1; i++)
                {
                    for (int j = 0; j <= bmg1.Height - 1; j++)
                    {
                        Color pixeColor = bmg2.GetPixel(i,j);
                        nR = pixeColor.R;
                        nG = pixeColor.G;
                        nB = pixeColor.B;
                        nA = pixeColor.A;
                        n = (nR + nG + nB) / 3;

                        if (n > 127)
                        {
                            n = 255;
                        }
                        else
                        {
                            n = 0;
                        }
                        Color newPixel = Color.FromArgb(n, n, n);
                        bmg2.SetPixel(i, j, newPixel);
                    }
                }
                pictureBox2.Image = bmg2;
            }

Button Grey :

            Bitmap bmg1, bmg2;
            bmg1 = new Bitmap(pictureBox1.Image);

            int nR, nG, nB, nA, n;
            nA = 0;
            if (bmg1 != null)
            {
                bmg2 = new Bitmap(bmg1);
                for (int i = 0; i <= bmg1.Width - 1; i++)
                {
                    for (int j = 0; j <= bmg1.Height - 1; j++)
                    {
                        Color pixeColor = bmg2.GetPixel(i, j);
                        nR = (int) (pixeColor.R * 0.29);
                        nG = (int) (pixeColor.G * 0.59);
                        nB = (int) (pixeColor.B * 0.11);
                        nA = pixeColor.A;
                        n = (nR + nG + nB) / 3;
                      
                        Color newPixel = Color.FromArgb(n, n, n);
                        bmg2.SetPixel(i, j, newPixel);
                    }
                }
                pictureBox2.Image = bmg2;
            }

selanjutnya button save untuk menyimpan File :

            //Bitmap bmp2;
            //bmp2 = new Bitmap(pictureBox2.Image);

            SaveFileDialog sfd = new SaveFileDialog();
            sfd.Filter = "JPEG File|*.jpg|BMP File|*bmp|PNG File|*.png";
            sfd.ShowDialog();
            sfd.InitialDirectory = "D:/";
            if (sfd.FileName != "")
            {
                System.IO.FileStream fs =
                    (System.IO.FileStream)sfd.OpenFile();
                pictureBox2.Image.Save
                    (fs, System.Drawing.Imaging.ImageFormat.Jpeg);
                fs.Close();bb
            }
           
  Button Zoom In untuk yang sebelah kanan :

            pictureBox2.Top = (int)(pictureBox2.Top - (pictureBox2.Height * 0.025));
            pictureBox2.Left = (int)(pictureBox2.Left - (pictureBox2.Width * 0.025));
            pictureBox2.Height = (int)(pictureBox2.Height + (pictureBox2.Height * 0.05));
            pictureBox2.Width 

Button Zoom in untuk yang sebelah kiri :

            pictureBox1.Top = (int)(pictureBox1.Top - (pictureBox1.Height * 0.025));
            pictureBox1.Left = (int)(pictureBox1.Left - (pictureBox1.Width * 0.025));
            pictureBox1.Height = (int)(pictureBox1.Height + (pictureBox1.Height * 0.05));

            pictureBox1.Width = (int)(pictureBox1.Width + (pictureBox1.Width * 0.05));

Button Zoom Out sebelah kiri :

            pictureBox1.Top = (int)(pictureBox1.Top + (pictureBox1.Height * 0.025));
            pictureBox1.Left = (int)(pictureBox1.Left + (pictureBox1.Width * 0.025));
            pictureBox1.Height = (int)(pictureBox1.Height - (pictureBox1.Height * 0.05));
            pictureBox1.Width = (int)(pictureBox1.Width - (pictureBox1.Width * 0.05));

Button Zoom Out sebelah kanan :

            pictureBox2.Top = (int)(pictureBox2.Top + (pictureBox2.Height * 0.025));
            pictureBox2.Left = (int)(pictureBox2.Left + (pictureBox2.Width * 0.025));
            pictureBox2.Height = (int)(pictureBox2.Height - (pictureBox2.Height * 0.05));
            pictureBox2.Width = (int)(pictureBox2.Width - (pictureBox2.Width * 0.05));

Setelah semua selesai tinggal Di Debugging . Done ! :D

READMORE
 

Billing Countdown Timer





Alat untuk mempermudah manusia dalam menghitung waktu dan juga waktu yang ingin diketahui biasanya dibutuhkan penghitungan secara akurat dan tepat. oleh karena itu dibutuhkan suatu alat atau program yang biasa kita sebut STOPWATCH. Stopwatch merupakan sebuah alat penghitung waktu otomatis yang biasa digunakan untuk olahraga maupun kebutuhan lainnya yang menyangkut waktu. 

Selain untuk stopwatch hal lain yang bisa kita gunakan ialah untuk memanajemen waktu dalam berbagai hal bisnis. Contohnya seperti diwarnet kita menggunakan billing untuk mengukjr pemakaian pengguna tersebut agar pengguna dapat mengetahui  biaya dan juga waktu pemakaian layanan yang sedang digunakan .

Berikut ini akan saya paparkan cara pembuatan program perhitungan waktu mundur dengan menggunakan Visual Studio :


pertama kali yang harus dilakukan adalah membuat design seperti gambar diatas 

File - New - Project - WindowsForm App - Beri Nama

Untuk tool yang digunakan ada berbagai macam diantaranya :

GroupBox, Label, Textbox, Button

setelah design dibuat seperti gambar diatas pastikan (Name) pada properties sesuai gambar dibawah ini :


 Selamjutnya masuk ke tahap pengkodingan :

Cara masuk ke code editor nya hanya perlu klik 2x pada form terluar dari design yang kita buat
lalu masukan kodingan seprti dibawah berikut

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.Runtime.InteropServices;

namespace CountDownTimer
{
    public partial class Form1 : Form
    {
        public int detik;
        public int menit;
        public int jam;
        public bool  pause;

        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            txtJam.Focus();
            txtJam.Text = Convert.ToString(0);
            txtMenit.Text = Convert.ToString(0);
            txtDetik.Text = Convert.ToString(0);

        }


tahap kedua kmbali ke halaman design lalu klik 2x pada button START untuk memasukan kodingan dalam memulai program masukan kodingan berikut diantara dua buah kurung kurawal yang terbentuk secara otomatis

            if (pause != true)
            {
                if ((txtJam.Text != string.Empty) && (txtMenit.Text != string.Empty) && (txtDetik.Text != string.Empty))
                {
                    tmrWaktu.Enabled = true;
                    btnPause.Enabled = true;
                    btnStart.Enabled = false;
                    btnStop.Enabled = true;
                    txtJam.Enabled = false;
                    txtMenit.Enabled = false;
                    txtDetik.Enabled = false;
                    txtPesan.Enabled = false;

                    try
                    {
                        menit = System.Convert.ToInt32(txtMenit.Text);
                        detik = System.Convert.ToInt32(txtDetik.Text);
                        jam = System.Convert.ToInt32(txtJam.Text);
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message);
                    }
                }
                else
                {
                    MessageBox .Show ("Terjadi Masalah Pada Aplikasi","Guzko Tutorial",MessageBoxButtons .OK , MessageBoxIcon .Error );
                }
            }
            else {
                tmrWaktu.Enabled = true;
                pause = false;
                btnStart .Enabled = false;
                btnPause.Enabled = true;
            }

kembali lagi ke halaman design letakan satu buah timer pada Form tersebut dengan (Name) seperti gambar dibawah ;


klik dua kali pada timer tersebut lalu masukan kodingan dibawah ini :

            // melakukan pengecekan jika waktu tidak sesuai
            if ((menit  == 0) && (jam == 0) && (detik == 0))
            {

                // jika waktu yang ditentukan telah selesai, kosongkan field
                // juga menampilkan pesan bahwa waktu telah selesai
                tmrWaktu.Enabled = false;
                Console.Beep();
                MessageBox.Show(txtPesan.Text, "Peringatan");
                btnPause.Enabled = false;
                btnStop.Enabled = false;
                btnStart .Enabled = true;
                txtPesan.Clear();
                txtJam.Text = Convert.ToString(0);
                txtMenit.Text = Convert.ToString(0);
                txtDetik.Text = Convert.ToString(0);
                txtJam.Enabled = true;
                txtPesan.Enabled = true;
                txtDetik.Enabled = true;
                txtMenit.Enabled = true;
                txtJam.Enabled = true;
                lblHr.Text = "00";
                lblMin.Text = "00";
                lblSec.Text = "00";
            }
            else
            {
                // lanjutkan waktu
                if (detik < 1)
                {
                    detik = 59;
                    if (menit == 0)
                    {
                        menit = 59;
                        if (jam != 0)
                            jam -= 1;

                    }
                    else
                    {
                        menit -= 1;
                    }
                }
                else
                    detik -= 1;
               
                    lblHr.Text = jam.ToString();
                    lblMin.Text = menit.ToString();
                    lblSec.Text = detik.ToString();
            }
            if ((menit == 5) && (jam == 0) && (detik == 0))
            {
                // memberikan peringatan kepada user jika waktu tersisa tinggal 5 menit
                MessageBox.Show("5 menit tersisa.\n Silahkan selesaikan segera pekerjaan anda dan pastikan semuanya sudah terkoreksi. ", "Peringatan", MessageBoxButtons.OK, MessageBoxIcon.Warning);

            }

            if ((menit == 10) && (jam == 0) && (detik == 0))
            {
                //memberikan peringatan kepada user jika waktu tersisa tinggal 10 menit
                MessageBox.Show("10 menit tersisa.\n Silahkan selesaikan segera pekerjaan anda dan pastikan semuanya sudah terkoreksi ", "Perigatan", MessageBoxButtons.OK, MessageBoxIcon.Warning);

            }

selanjutnya klik pada button PAUSE lalu masukan kodingan dibawah ini :

            // pause waktu
            if (MessageBox.Show("Apakah anda yakin ingin melakukan pause waktu ?.", "Konfirmasi", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes)
            {
                tmrWaktu.Enabled = false;
                pause = true;
                btnPause .Enabled = false;
                btnStart .Enabled = true;
            }
untuk button terakhir yaitu button STOP :

            if (MessageBox.Show("Apakah anda yakin ingin menghentikan waktu ?", "Konfirmasi", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes)
            {
                // hentikan waktu
                pause = false;
                tmrWaktu.Enabled = false;
                btnPause .Enabled = false;
                btnStop .Enabled = false;
                btnStart .Enabled = true;
                txtPesan.Clear();
                txtJam.Text = Convert.ToString(0);
                txtMenit.Text = Convert.ToString(0);
                txtDetik.Text = Convert.ToString(0);
                txtJam.Enabled = true;
                txtPesan.Enabled = true;
                txtDetik.Enabled = true;
                txtMenit.Enabled = true;
                txtJam.Enabled = true;
                lblHr.Text = "00";
                lblMin.Text = "00";
                lblSec.Text = "00";
               
            }

setelah semua kodingan selesai dimasukan jalankan program tersebut, hingga akhirnya program dapat digunakan .


READMORE