Welcome



“A person who won't read has no advantage over one who can't read.”
― Mark Twain

Welcome to my blog!
I hope this blog could be useful for everyone who loves programming and novel.









Horas...

Love from Sumatra.




My current project is developing Balige High School Database Management System using Visual C# .NET with Visual Studio 2019. Hopefully this project will complete as soon as possible. I will share every stage and and its code in this blog. Keep an eye out!




This book will teach you with step-by-step approach to develop from scratch a MySQL-driven desktop application that readers can develop for their own purposes to implement school database project using Visual Basic .NET.

In Tutorial 1, you will perform the steps necessary to add 8 tables using phpMyAdmin into School database that you will create. You will build each table and add the associated fields as needed. In this tutorial, you will also build login form and main form.
In Tutorial 2, you will build such a form for Parent table. This table has thirteen fields: ParentID, FirstName, LastName, BirthDate, Status, Ethnicity, Nationality, Mobile, Phone, Religion, Gender, PhotoFile, and FingerFile). You need fourteen label controls, two picture boxes, six text boxes, four comboxes, one check box, one date time picker, one openfiledialog, and one printpreviewdialog. You also need four buttons for navigation, six buttons for other utilities, one button for searching member’s name, one button to upload parent’s photo, and button to upload parent’s finger. Place these controls on the form.

In Tutorial 3, you will build such a form for Student table. This table has fifteen fields: StudentID, ParentID, FirstName, LastName, BirthDate, YearEntry, Status, Ethnicity, Nationality, Mobile, Phone, Religion, Gender, PhotoFile, and FingerFile). You need sixteen label controls, two picture boxes, six text boxes, five comboxes, one check box, two date time pickers, one openfiledialog, and one printpreviewdialog. You also need four buttons for navigation, seven buttons for controlling editing features, one button for searching parent’s name, one button to open parent form, one button to upload student’s photo, and one button to upload student’s finger.

In Tutorial 4, you will build a form for Teacher table. This table has fifteen fields: TeacherID, RegNumber, FirstName, LastName, BirthDate, Rank, Status, Ethnicity, Nationality, Mobile, Phone, Religion, Gender, PhotoFile, and FingerFile). You need an input form so that user can edit existing records, delete records, or add new records. The form will also have the capability of navigating from one record to another. You need sixteen label controls, one picture box, seven text boxes, five comboxes, one check box, one date time picker, one openfiledialog, and one printpreviewdialog. You also need four buttons for navigation, six buttons for controlling editing features, one button for searching teacher’s name, and one button to upload teacher’s photo.

In Tutorial 5, you will build a form for Subject table. This table has only three fields: SubjectID, Name, and Description. You need four label controls, four text boxes, one openfiledialog, and one printpreviewdialog. You also need four buttons for navigation, secen buttons for utilities, and one button for searching subject name. Place these controls on the form. You will also build a form for Grade table. This table has seven fields: GradeID, Name, SubjectID, TeacherID, SchoolYear, TimaStart, and TimeFinish. You need to add seven label controls, one text box, four comboxes, and two date time pickers. You also need four buttons for navigation, seven buttons for controlling editing features, one button to open subject form, and one button to open teacher form.

In Tutorial 6, you will build a form for Grade_Student table. This table has only three fields: Grade_StudentID, GradeID, and StudentID. You need an input form so that user can edit existing records, delete records, or add new records. The form will also have the capability of navigating from one record to another. You need two label controls and two comboxes. You also need four buttons for navigation, seven buttons for controlling editing features, one button to open grade form, and one button to open student form.









Vivian Siahaan is a fast-learner who likes to do new things. She was born, raised in Hinalang Bagasan, Balige, on the banks of Lake Toba, and completed high school education from SMAN 1 Balige. She started herself learning Java, Android, JavaScript, CSS, C ++, Python, R, Visual Basic, Visual C #, MATLAB, Mathematica, PHP, JSP, MySQL, SQL Server, Oracle, Access, and other programming languages. She studied programming from scratch, starting with the most basic syntax and logic, by building several simple and applicable GUI applications. Animation and games are fields of programming that are interests that she always wants to develop. Besides studying mathematical logic and programming, the author also has the pleasure of reading novels. Vivian Siahaan has written dozens of ebooks that have been published on Sparta Publisher: Data Structure with Java; Java Programming: Cookbook; C ++ Programming: Cookbook; C Programming For High Schools / Vocational Schools and Students; Java Programming for SMA / SMK; Java Tutorial: GUI, Graphics and Animation; Visual Basic Programming: From A to Z; Java Programming for Animation and Games; C # Programming for SMA / SMK and Students; MATLAB For Students and Researchers; Graphics in JavaScript: Quick Learning Series; JavaScript Image Processing Methods: From A to Z; Java GUI Case Study: AWT & Swing; Basic CSS and JavaScript; PHP / MySQL Programming: Cookbook; Visual Basic: Cookbook; C ++ Programming for High Schools / Vocational Schools and Students; Concepts and Practices of C ++; PHP / MySQL For Students; C # Programming: From A to Z; Visual Basic for SMA / SMK and Students; C # .NET and SQL Server for High School / Vocational School and Students. At the ANDI Yogyakarta publisher, Vivian Siahaan also wrote a number of books including: Python Programming Theory and Practice; Python GUI Programming; Python GUI and Database; Build From Zero School Database Management System In Python / MySQL; Database Management System in Python / MySQL; Python / MySQL For Management Systems of Criminal Track Record Database; Java / MySQL For Management Systems of Criminal Track Records Database; Database and Critptography Using Java / MySQL; Build From Zero School Database Management System With Java / MySQL.






In chapter one, you will learn to know the properties and events of each control in a Windows Visual C# application. You need to learn and know in order to be more familiar when applying them to some applications in this book.

In chapter two, you will go through step by step to build a SALES database using Microsoft Access and SQL Server. You will build each table and add associated data fields (along with the necessary keys and indexes). The first field in the Client table is ClientID. Enter the clien ID in the Name Field and select AutoNumber in the Data Type. You define primary key and other indexes which are useful for quick searching. ClientID is a primary field. If the small lock symbol is not displayed next to the ClientID row, then you need to place it there. Right click on ClientID row and select Primary Key. A small key is now displayed next to the entry indicating it is the primary key. You will define FamilyName as an index. Select the FamilyName line. On the General tab, set the Indexed property to Yes (Duplicates OK). You then will create Ordering table with three fields: OrderID, ClientID, and OrderDate. You then will create Purchase table with three fields: OrderID, ProductID, and Quantity. And you will create Product table with four fields: ProductID, Description, Price, and QtySold. Before designing Visual C# interface, you will build the relationships between four tables.

In chapter three, you will build a Visual C# interface for the database. The interface will be used to enter new orders into the database. The order form will be used to enter the following information into the database: order ID, order date, client ID, client’s first name and family name, client’s address, product information ordered. The form will have the ability to add new orders, find clients, add new clients. The completed order invoice will be provided in a printed report.

In chapter four, you will build a database management system where you can store information about valuables in your warehouse. The table will have seven fields: Item (description of the item), Location (where the item was placed), Shop (where the item was purchased), DatePurchased (when the item was purchased), Cost (how much the item cost), SerialNumber (serial number of the item), PhotoFile (path of the photo file of the item), and Fragile (indicates whether a particular item is fragile or not). The development of this Warehouse Inventory Project will be performed, as usual, in a step-by-step manner. You will first create the database. Furthermore, the interface will be built so that the user can view, edit, add, or add data records from the database. Finally, you add code to create a printable list of information from the database.

In chapter five, you will build an application that can be used to track daily high and low pollutant PM2.5 and air quality level. You will do this in stages, from database development to creation of distribution packages. These steps are the same as those used in developing a commercial database application. The steps that need to be taken in building Siantar Air Quality Index (SAQI) database project are: Build and test a Visual C# interface; Create an empty database using code; and Report database. The designed interface will allow the user to enter max pollutant, min pollutant, and air quality for any date that the user chooses in a particular year. This information will be stored in a database. Graphical result of the data will be provided, along with summary information relating to the maximum value, minimum value, and mean value. You will use a tab control as the main component of the interface. The control has three tabs: one for viewing and editing data, one for viewing graph of pollutant data, and another for viewing graph of air quality data. Each tab on this control operates like a Visual C# control panel.

In chapter six, you will perform the steps necessary to build a SQL Server book inventory database that contains 4 tables using Microsoft Visual Studio 2019. You will build each table and add the associated fields as needed. You will have four tables in the database and define the relationship between the primary key and foreign key. You will associate AuthorID (foreign key) field in the Title_Author table with AuthorID (primary key) in the Author table. Then, you want to associate the ISBN (foreign key) field in Title_Author table with ISBN (primary key) in the Title table.



Vivian Siahaan is a fast-learner who likes to do new things. She was born, raised in Hinalang Bagasan, Balige, on the banks of Lake Toba, and completed high school education from SMAN 1 Balige. She started herself learning Java, Android, JavaScript, CSS, C ++, Python, R, Visual Basic, Visual C #, MATLAB, Mathematica, PHP, JSP, MySQL, SQL Server, Oracle, Access, and other programming languages. She studied programming from scratch, starting with the most basic syntax and logic, by building several simple and applicable GUI applications. Animation and games are fields of programming that are interests that she always wants to develop. Besides studying mathematical logic and programming, the author also has the pleasure of reading novels. Vivian Siahaan has written dozens of ebooks that have been published on Sparta Publisher: Data Structure with Java; Java Programming: Cookbook; C ++ Programming: Cookbook; C Programming For High Schools / Vocational Schools and Students; Java Programming for SMA / SMK; Java Tutorial: GUI, Graphics and Animation; Visual Basic Programming: From A to Z; Java Programming for Animation and Games; C # Programming for SMA / SMK and Students; MATLAB For Students and Researchers; Graphics in JavaScript: Quick Learning Series; JavaScript Image Processing Methods: From A to Z; Java GUI Case Study: AWT & Swing; Basic CSS and JavaScript; PHP / MySQL Programming: Cookbook; Visual Basic: Cookbook; C ++ Programming for High Schools / Vocational Schools and Students; Concepts and Practices of C ++; PHP / MySQL For Students; C # Programming: From A to Z; Visual Basic for SMA / SMK and Students; C # .NET and SQL Server for High School / Vocational School and Students. At the ANDI Yogyakarta publisher, Vivian Siahaan also wrote a number of books including: Python Programming Theory and Practice; Python GUI Programming; Python GUI and Database; Build From Zero School Database Management System In Python / MySQL; Database Management System in Python / MySQL; Python / MySQL For Management Systems of Criminal Track Record Database; Java / MySQL For Management Systems of Criminal Track Records Database; Database and Critptography Using Java / MySQL; Build From Zero School Database Management System With Java / MySQL.

Rismon Hasiholan Sianipar was born in Pematang Siantar, in 1994. After graduating from SMAN 3 Pematang Siantar 3, the writer traveled to the city of Jogjakarta. In 1998 and 2001 the author completed his Bachelor of Engineering (S.T) and Master of Engineering (M.T) education in the Electrical Engineering of Gadjah Mada University, under the guidance of Prof. Dr. Adhi Soesanto and Prof. Dr. Thomas Sri Widodo, focusing on research on non-stationary signals by analyzing their energy using time-frequency maps. Because of its non-stationary nature, the distribution of signal energy becomes very dynamic on a time-frequency map. By mapping the distribution of energy in the time-frequency field using discrete wavelet transformations, one can design non-linear filters so that they can analyze the pattern of the data contained in it. In 2003, the author received a Monbukagakusho scholarship from the Japanese Government. In 2005 and 2008, he completed his Master of Engineering (M.Eng) and Doctor of Engineering (Dr.Eng) education at Yamaguchi University, under the guidance of Prof. Dr. Hidetoshi Miike. Both the master's thesis and his doctoral thesis, R.H. Sianipar combines SR-FHN (Stochastic Resonance Fitzhugh-Nagumo) filter strength with cryptosystem ECC (elliptic curve cryptography) 4096-bit both to suppress noise in digital images and digital video and maintain its authenticity. The results of this study have been documented in international scientific journals and officially patented in Japan. One of the patents was published in Japan with a registration number 2008-009549.
Aside from being an active writer teaching in the Electrical Engineering University of Mataram, he is also active in collaborating with several universities and research institutions in Japan, particularly in the fields of cryptography, cryptanalysis and audio / image / video digital forensics. R.H. Sianipar also has experience in conducting code-breaking methods (cryptanalysis) on a number of intelligence data that are the object of research studies in Japan. R.H. Sianipar has a number of Japanese patents, and has written a number of national / international scientific articles, and dozens of national books. R.H. Sianipar has also participated in a number of workshops related to cryptography, cryptanalysis, digital watermarking, and digital forensics. In a number of workshops, R.H. Sianipar helps Prof. Hidetoshi Miike to create applications related to digital image / video processing, steganography, cryptography, watermarking, non-linear screening, intelligent descriptor-based computer vision, and others, which are used as training materials. Field of interest in the study of R.H. Sianipar is multimedia security, signal processing / digital image / video, cryptography, digital communication, digital forensics, and data compression / coding. Until now, R.H. Sianipar continues to develop applications related to analysis of signal, image, and digital video, both for research purposes and for commercial purposes based on the Python programming language, MATLAB, C ++, C, VB.NET, C # .NET, R, and Java.



In chapter one, you will learn to know the properties and events of each control in a Windows Visual C# application. You need to learn and know in order to be more familiar when applying them to some applications in this book.

 

In chapter two, you will build a project so that children can practice basic skills in addition, subtraction, multiplication, and division operations. This Math Game project can be used to choose the types of questions and what factors you want to use. This project has three timing options. Random math problems using values ​​from 0 to 9 will be presented. Timing options are provided to measure accuracy and speed. There are many controls used. Two label controls are used for title information, two for displaying scores. There is a wide label in the middle of the form to display math questions. And, long skinny label is used as separator. Two button controls are used to start and stop question and one button to exit the project. There are three group control boxes. The first group box holds four check box controls that are used to select the type of questions. The second group box holds eleven radio buttons that are used to select values ​​that are used as factors in calculations. The third group box contains three radio button controls for timing options. A scroll bar control rod is used to change the time.

 

In chapter three, you will build Bank Code game. The storage box is locked and can only be opened if you enter the correct digit combination. Combinations can be 2 to 4 non-repetitive digits (range of digits from 1 to 9). After a guess is given, you will be notified of how many digits are right and how many digits are in the right position. Based on this information, you will give another guess. You continue to guess until you get the right combination or until you stop the game. On the left side of the form is a large picture box control. On the right side, two group box controls and two button controls are placed. In the picture box, a control panel is placed. In the panel, there are four label controls (set the AutoSize property to False) and nine button controls. In the first group box control, place three radio buttons. In the second group box control, a text box control is placed. The picture box contains an image of bank and a panel. The label controls in the panel are used to display the combinations entered (the BorderStyle property set to FixedSingle to display the label size). The nine buttons on the panel are used to enter combinations. Radio buttons are used to set options. The buttons (one to start and stop the game and another to exit the project) are used to control game operations. The text box displays the results of the combinations entered.

 

In chapter four, you will build Horse Racing game. This is a simple game. Up to 10 horses will race to the finish line. You guessed two horses that you thought could win the race. By clicking on the Start button, the race will start. All horses will race speed to get to the finish line. Labels are used to display instructions and number of horses in a race. Four button controls are used: two buttons to change number of horses, one button to start the game, and one other button to stop the game. The picture box control is used to load the horse image. A timer control is used to update the horse's movement during the race.

 

In chapter five, you will build Catching Ball game. The bird flew and dropped ball from the sky. Users are challenged to position man under the fallen ball to catch it. Labels are used for instructions and to display game information (remaining time, number of balls captured, and game difficulty level). Two buttons are used to change the game difficulty level, one button to start the game, and another button to stop the game. Picture box controls hold images for man, bird, and ball.

 

In chapter six, you will build Smart Tic Tac Toe game. That said, this is the first game ever programmed on a computer and one that had been programmed by Bill Gates himself when he was a teenager while attending Lakeside School in Seattle. The aim of this game is to win the game on a 3 x 3 grid with the victory of three identical symbols (X or O) on horizontal, diagonal, or vertical lines. The players will play alternately. In this game given two game options: player 1 against player 2 or human player against computer. A smart but simple strategy will be developed for computer logic to be a formidable opponent for humans.

 

In chapter seven, you will build Fighting Plane program. This program can be played by two human players or human player versus computer. The controls of the player are done via the keyboard. Player 1 presses A key to move up, Z key to move down, and S key to throw rudal. When you choose Two players from the Options button, this game can be played by two human players. Player 1 presses the same keys, while player 2 presses key K to move up, M to move down, and key J to throw rudal. All label controls are used for titles and provide scoring and game information. The large panel (Panel1) is the playing field. Three button controls are used to start / stop a program, set options, and exit the program. One timer control is used to control game animation and another is used to represent the computer's decision process. The second control panel (Panel2) is used to select game options. One group box contains radio buttons which are used to select number of players. A group box contains radio buttons to select the level of difficulty of the game, when playing against a computer. A small button is used to close the options panel. The default properties are set for one-player games with the easiest game difficulty.

 

In this chapter, you will build Jumper game. In this game, you will move the jumper across the busy road, avoid the tiger, and cross the river with the changing current to get to house safely. You will place four label controls on the top part of the form (set the AutoSize property to False so that it can be resized and the BorderStyle property temporarily becomes FixedSingle so you can see the edges). Then, you use five panel controls below the labels. These panels will be a place for image graphics. Each panel has a width of 16 jumpers or 640 pixels, because one jumper will be given a width of 40 pixels. The first panel will be the jumper house, which will be given a height of 80 pixels. The next panel will become a river, with a height of 120 pixels. The next panel will be a place for tiger, 40 pixels high. Under the snake panel, there is a road panel. This panel will contain three boat lanes. Each boat has a height of 40 pixels, but you will give it a height of 140 pixels (not 120 pixels) to make room for lane markers. The fifth panel is the place where the jumper will begin its journey or leap. This panel will be given a height of 40 pixels. Add the last control panel below the form with three button controls. Then, finally, add four timer controls. Adjust the size of the form so that the panel controls can occupy according to the width of the form.


Vivian Siahaan is a fast-learner who likes to do new things. She was born, raised in Hinalang Bagasan, Balige, on the banks of Lake Toba, and completed high school education from SMAN 1 Balige. She started herself learning Java, Android, JavaScript, CSS, C ++, Python, R, Visual Basic, Visual C #, MATLAB, Mathematica, PHP, JSP, MySQL, SQL Server, Oracle, Access, and other programming languages. She studied programming from scratch, starting with the most basic syntax and logic, by building several simple and applicable GUI applications. Animation and games are fields of programming that are interests that she always wants to develop. Besides studying mathematical logic and programming, the author also has the pleasure of reading novels. Vivian Siahaan has written dozens of ebooks that have been published on Sparta Publisher: Data Structure with Java; Java Programming: Cookbook; C ++ Programming: Cookbook; C Programming For High Schools / Vocational Schools and Students; Java Programming for SMA / SMK; Java Tutorial: GUI, Graphics and Animation; Visual Basic Programming: From A to Z; Java Programming for Animation and Games; C # Programming for SMA / SMK and Students; MATLAB For Students and Researchers; Graphics in JavaScript: Quick Learning Series; JavaScript Image Processing Methods: From A to Z; Java GUI Case Study: AWT & Swing; Basic CSS and JavaScript; PHP / MySQL Programming: Cookbook; Visual Basic: Cookbook; C ++ Programming for High Schools / Vocational Schools and Students; Concepts and Practices of C ++; PHP / MySQL For Students; C # Programming: From A to Z; Visual Basic for SMA / SMK and Students; C # .NET and SQL Server for High School / Vocational School and Students. At the ANDI Yogyakarta publisher, Vivian Siahaan also wrote a number of books including: Python Programming Theory and Practice; Python GUI Programming; Python GUI and Database; Build From Zero School Database Management System In Python / MySQL; Database Management System in Python / MySQL; Python / MySQL For Management Systems of Criminal Track Record Database; Java / MySQL For Management Systems of Criminal Track Records Database; Database and Critptography Using Java / MySQL; Build From Zero School Database Management System With Java / MySQL.

Rismon Hasiholan Sianipar was born in Pematang Siantar, in 1994. After graduating from SMAN 3 Pematang Siantar 3, the writer traveled to the city of Jogjakarta. In 1998 and 2001 the author completed his Bachelor of Engineering (S.T) and Master of Engineering (M.T) education in the Electrical Engineering of Gadjah Mada University, under the guidance of Prof. Dr. Adhi Soesanto and Prof. Dr. Thomas Sri Widodo, focusing on research on non-stationary signals by analyzing their energy using time-frequency maps. Because of its non-stationary nature, the distribution of signal energy becomes very dynamic on a time-frequency map. By mapping the distribution of energy in the time-frequency field using discrete wavelet transformations, one can design non-linear filters so that they can analyze the pattern of the data contained in it. In 2003, the author received a Monbukagakusho scholarship from the Japanese Government. In 2005 and 2008, he completed his Master of Engineering (M.Eng) and Doctor of Engineering (Dr.Eng) education at Yamaguchi University, under the guidance of Prof. Dr. Hidetoshi Miike. Both the master's thesis and his doctoral thesis, R.H. Sianipar combines SR-FHN (Stochastic Resonance Fitzhugh-Nagumo) filter strength with cryptosystem ECC (elliptic curve cryptography) 4096-bit both to suppress noise in digital images and digital video and maintain its authenticity. The results of this study have been documented in international scientific journals and officially patented in Japan. One of the patents was published in Japan with a registration number 2008-009549.
Aside from being an active writer teaching in the Electrical Engineering University of Mataram, he is also active in collaborating with several universities and research institutions in Japan, particularly in the fields of cryptography, cryptanalysis and audio / image / video digital forensics. R.H. Sianipar also has experience in conducting code-breaking methods (cryptanalysis) on a number of intelligence data that are the object of research studies in Japan. R.H. Sianipar has a number of Japanese patents, and has written a number of national / international scientific articles, and dozens of national books. R.H. Sianipar has also participated in a number of workshops related to cryptography, cryptanalysis, digital watermarking, and digital forensics. In a number of workshops, R.H. Sianipar helps Prof. Hidetoshi Miike to create applications related to digital image / video processing, steganography, cryptography, watermarking, non-linear screening, intelligent descriptor-based computer vision, and others, which are used as training materials. Field of interest in the study of R.H. Sianipar is multimedia security, signal processing / digital image / video, cryptography, digital communication, digital forensics, and data compression / coding. Until now, R.H. Sianipar continues to develop applications related to analysis of signal, image, and digital video, both for research purposes and for commercial purposes based on the Python programming language, MATLAB, C ++, C, VB.NET, C # .NET, R, and Java.



In chapter one, you will learn to know the properties and events of each control in a Windows Visual C# applications. You need to learn and know in order to be more familiar when applying them to some desktop applications in this book.

 In chapter two, you will build Throwing Fire program. This program can be played by two human players or human player versus computer. You will use 12 labels, a large control panel, and three control buttons on the form. In the control panel, a smaller panel with two group box controls and a button control are placed. In the first group box, you will use 2 radio buttons; in the second box group, place 4 radio buttons. Next, two timer controls are added to the project. All label controls are used for titles and provide scoring and game information. The large panel (Panel1) is the playing field. Three button controls are used to start / stop a program, set options, and exit the program. One timer control is used to control game animation and another is used to represent the computer's decision process. The second control panel (Panel2) is used to select game options. One group box contains radio buttons which are used to select number of players. A group box contains radio buttons to select the level of difficulty of the game, when playing against a computer. A small button is used to close the options panel. The default properties are set for one-player games with the easiest game difficulty.

 

In chapter three, you will build Roasted Duck Delivery simulation. In this simulation, a number of decisions are needed. The basic idea is to read the order by incoming telephone and tell the delivery scooter to go to the location of the order. You also need to make sure that you always provide a roasted duck ready to be transported by the delivery scooter. The delivery area is a 20 by 20 square grid. The more roasted duck is sold, the more profit it gets. The panel control on the left side of the form contains the delivery grid. On the upper right are group boxes with two label controls to display the time or hour and sale results. The computer monitor (in a picture box) displays order and delivery status using a list box and label control. Another group box contains a roasting oven when the roasted ducks are displayed using eight picture box controls. Two button controls on the group box control the operation of the oven. Group boxes under the oven show how many ducks are ready to be delivered and how many are in the delivery scooter (a button control is to load the roasted duck into the scooter). The two button controls beneath are used to start/pause the game and to stop the game or exit the game. In the area under the form there are several timers for controlling a number of aspects in the program. The delivery grid consists of 400 label controls on 20 rows (marked with numbers) and 20 columns (marked with letters). Here, you will learn how to place controls on a form (or panel in this case) using code (when the program runs, not when designing the form). This mechanism can save time designing the form.

 

In chapter four, you will build a Drone Simulation. In this simulation, you control both vertical and horizontal thrusters to maneuver the ride to the landing pad. You will adjust the landing speed so that it is slow enough so that no accident occurs. You build the form in two stages, the first stage creates two option group boxes, and then the second stage uses both those group boxes as landing controls. Two control panels are placed on the left side of the form: one panel for drawing and another panel for the edge. On the right side of the form, place the two group control boxes. In the first group box, five radio buttons and a check box are added. In the second group box, two radio buttons are placed. In the below section of the form, three buttons are added. Finally, one timer control is added. Then in the form, a group box is added overlap panel. Then, 11 label controls are added to the group box. After that, a progress bar is added. Under the bar, two control panels are added, one high panel and one short panel. In the second (short) panel control, two small label controls are added. Underneath, three button controls are placed. Under these three buttons, a label control is added. For each label control, set the AutoSize property to False to be resized and set (temporarily) the BorderStyle property to FixedSingle so that you can see the edges to facilitate the layout process.

 

In this chapter, you will build Jumper game. In this game, you will move the jumper across the busy road, avoid the tiger, and cross the river with the changing current to get to house safely. You will place four label controls on the top part of the form (set the AutoSize property to False so that it can be resized and the BorderStyle property temporarily becomes FixedSingle so you can see the edges). Then, you use five panel controls below the labels. These panels will be a place for image graphics. Each panel has a width of 16 jumpers or 640 pixels, because one jumper will be given a width of 40 pixels. The first panel will be the jumper house, which will be given a height of 80 pixels. The next panel will become a river, with a height of 120 pixels. The next panel will be a place for tiger, 40 pixels high. Under the snake panel, there is a road panel. This panel will contain three boat lanes. Each boat has a height of 40 pixels, but you will give it a height of 140 pixels (not 120 pixels) to make room for lane markers. The fifth panel is the place where the jumper will begin its journey or leap. This panel will be given a height of 40 pixels. Add the last control panel below the form with three button controls. Then, finally, add four timer controls. Adjust the size of the form so that the panel controls can occupy according to the width of the form.



Vivian Siahaan is a fast-learner who likes to do new things. She was born, raised in Hinalang Bagasan, Balige, on the banks of Lake Toba, and completed high school education from SMAN 1 Balige. She started herself learning Java, Android, JavaScript, CSS, C ++, Python, R, Visual Basic, Visual C #, MATLAB, Mathematica, PHP, JSP, MySQL, SQL Server, Oracle, Access, and other programming languages. She studied programming from scratch, starting with the most basic syntax and logic, by building several simple and applicable GUI applications. Animation and games are fields of programming that are interests that she always wants to develop. Besides studying mathematical logic and programming, the author also has the pleasure of reading novels. Vivian Siahaan has written dozens of ebooks that have been published on Sparta Publisher: Data Structure with Java; Java Programming: Cookbook; C ++ Programming: Cookbook; C Programming For High Schools / Vocational Schools and Students; Java Programming for SMA / SMK; Java Tutorial: GUI, Graphics and Animation; Visual Basic Programming: From A to Z; Java Programming for Animation and Games; C # Programming for SMA / SMK and Students; MATLAB For Students and Researchers; Graphics in JavaScript: Quick Learning Series; JavaScript Image Processing Methods: From A to Z; Java GUI Case Study: AWT & Swing; Basic CSS and JavaScript; PHP / MySQL Programming: Cookbook; Visual Basic: Cookbook; C ++ Programming for High Schools / Vocational Schools and Students; Concepts and Practices of C ++; PHP / MySQL For Students; C # Programming: From A to Z; Visual Basic for SMA / SMK and Students; C # .NET and SQL Server for High School / Vocational School and Students. At the ANDI Yogyakarta publisher, Vivian Siahaan also wrote a number of books including: Python Programming Theory and Practice; Python GUI Programming; Python GUI and Database; Build From Zero School Database Management System In Python / MySQL; Database Management System in Python / MySQL; Python / MySQL For Management Systems of Criminal Track Record Database; Java / MySQL For Management Systems of Criminal Track Records Database; Database and Critptography Using Java / MySQL; Build From Zero School Database Management System With Java / MySQL.







In chapter one, you will get to know the properties and events of each control in a Windows Visual Basic application. You need to learn and know in order to be more familiar when applying them to some desktop applications in this book. In Tutorial 1.1, you will build a dual-mode stopwatch. The stopwatch can be started and stopped whenever desired. Two time traces: the running time when the stopwatch is active (running time) and the total time since the first stopwatch was activated. Two label controls are used to display the time (two more labels to display title information). Two button controls are used to start/stop and reset the application, one more button to exit the application. The timer control is used to periodically (every second) update the displayed time. In Tutorial 1.2, you will build a project so that children can practice basic skills in addition, subtraction, multiplication, and division operations. This Math Game project can be used to choose the types of questions and what factor you want to use. This project has three timing options.




In Tutorial 1.3, you will build Bank Code game. The storage box is locked and can only be opened if you enter the correct digit combination. Combinations can be 2 to 4 non-repetitive digits (range of digits from 1 to 9). After a guess is given, you will be notified of how many digits are right and how many digits are in the right position. Based on this information, you will give another guess. You continue to guess until you get the right combination or until you stop the game. In Tutorial 1.4, you will build Horse Racing game. This is a simple game. Up to 10 horses will race to the finish line. You guessed two horses that you thought could win the race. By clicking on the Start button, the race will start. All horses will race speed to get to the finish line.

In chapter two, you will learn the basic concepts of classes and objects. Next, it will demonstrate how to define class and type of enumeration, which shows how both are used in the application. In Tutorial 2.1, you will create a two-level application that uses a form to pass input user to the People class. The form class is the level of representation and the People class is the middle level. You will add controls to the form so people can enter ID, last name, and their height. When the user clicks the Save button, the code will assign input values ​​to the People class properties. Finally, you will display the People object on a label. Figure below shows the form after the user clicks the Save button. In Tutorial 2.2, you will add a parameterized constructor to the People class. The application will ask the user to enter values, which will then be passed to the People constructor. Then, the application will display the values ​​stored on the People object.

In Tutorial 2.3, you will create an application that utilizes enumeration type. The user will choose one type of account that is listed in a ListBox control and what he chooses is then displayed in a Label control. In Tutorial 2.4, you will create a simple Bank application. This application has one class, BankAcc, and a startup form. In Tutorial 2.5, you will improve the simple Bank application, by implementing the following two properties in the BankAcc class: TotalDeposit- Total money saved in current account; TotalWithdraw- Total funds that have been withdrawn from current account. In Tutorial 2.6, you will create an application to calculate the time needed for a particular aircraft to reach takeoff speed. You will also calculate how long the runway will be required. For each type of aircraft, you are given (1) the name of the aircraft, (2) the required take-off speed (feet/sec), and (3) how fast the plane accelerates (feet/sec2). In Tutorial 2.7, you will provide a number of programming training for those who want to improve their programming skills. Your task here is to write an object-oriented application so that training manager can display and edit the training services offered. There are several training categories: (1) Application Development, (2) Database, (3) Networking, and (4) System Administration. The training itself consists of: (1) title, (2) training days, (3) category, and (4) cost. Create a class named Training that contains this information, along with its properties and a ToString() method.

In chapter three, several tutorials will be presented to build more complex projects. You will build them gradually and step by step. In Tutorial 3.1, you will build Catching Ball game. The bird flew and dropped ball from the sky. User is challenged to position man under the fallen ball to catch it. In Tutorial 3.2, you will build Smart Tic Tac Toe game. The aim of this game is to win the game on a 3 x 3 grid with the victory of three identical symbols (X or O) on horizontal, diagonal, or vertical lines. The players will play alternately. In this game given two game options: player 1 against player 2 or human player against computer. A smart but simple strategy will be developed for computer logic to be a formidable opponent for human.

In Tutorial 3.3, you will build a Matching Images game. Ten pairs of images hidden on the game board. The object of the game is to find image pairs. In Two Players mode, players will get turns in turn. In One Player mode, there are two options to choose from: Playing Alone or Against Computer. When Play Alone option is selected, the player will play alone without an opponent. If Against Computer option is selected, then the level of computer intelligence is given with several levels according to the level of difficulty of the game. In Tutorial 3.4, you will build Throwing Fire program. This program can be played by two human players or human player versus computer.

In chapter four, tutorials will be presented to build two advanced projects. You will build them gradually and step by step. In Tutorial 4.1, you will build Roasted Duck Delivery simulation. In this simulation, a number of decisions are needed. The basic idea is to read the order by incoming telephone and tell the delivery scooter to go to the location of the order. You also need to make sure that you always provide a roasted duck ready to be transported by the delivery scooter. The delivery area is a 20 by 20 square grid. The more roasted duck is sold, the more profit it gets. In Tutorial 4.2, you will build a Drone Simulation. In this simulation, you control both vertical and horizontal thrusters to maneuver the ride to the landing pad. You will adjust the landing speed so that it is slow enough so that no accident occurs.




In this book, you will learn how to build from scratch a criminal records management database system using Java / MySQL. All Java code for digital image processing in this book is Native Java. Intentionally not to rely on external libraries, so that readers know in detail the process of extracting digital images from scratch in Java. There are only three external libraries used in this book: Connector / J to facilitate Java to MySQL connections, JCalendar to display calendar controls, and JFreeChart to display graphics.

Digital image techniques to extract image features used in this book are grascaling, sharpening, invertering, blurring, dilation, erosion, closing, opening, vertical prewitt, horizontal prewitt, Laplacian, horizontal sobel, and vertical sobel. For readers, you can develop it to store other advanced image features based on descriptors such as SIFT and others for developing descriptor based matching.

In the first chapter, you will be shown the number of devices needed to be downloaded and installed. You need to know how to add external libraries to the NetBeans environment. These tools are needed so that you can run the Java scripts.

In the second chapter, you will be taught how to create Crime database and its tables. In third chapter, you will be taught how to extract image features, utilizing BufferedImage class, in Java GUI.

In the fourth chapter, you will be taught to create Java GUI to view, edit, insert, and delete Suspect table data. This table has eleven columns: suspect_id (primary key), suspect_name, birth_date, case_date, report_date, suspect_ status, arrest_date, mother_name, address, telephone, and photo.

In the fifth chapter, you will be taught to create Java GUI to view, edit, insert, and delete Feature_Extraction table data. This table has eight columns: feature_id (primary key), suspect_id (foreign key), feature1, feature2, feature3, feature4, feature5, and feature6. All six fields (except keys) will have a BLOB data type, so that the image of the feature will be directly saved into this table.

In the sixth chapter, you will add two tables: Police_Station and Investigator. These two tables will later be joined to Suspect table through another table, File_Case, which will be built in the seventh chapter. The Police_Station has six columns: police_station_id (primary key), location, city, province, telephone, and photo. The Investigator has eight columns: investigator_id (primary key), investigator_name, rank, birth_date, gender, address, telephone, and photo. Here, you will design a Java GUI to display, edit, fill, and delete data in both tables.

In the seventh chapter, you will add two tables: Victim and File_Case. The File_Case table will connect four other tables: Suspect, Police_Station, Investigator and Victim. The Victim table has nine columns: victim_id (primary key), victim_name, crime_type, birth_date, crime_date, gender, address, telephone, and photo. The File_Case has seven columns: file_case_id (primary key), suspect_id (foreign key), police_station_id (foreign key), investigator_id (foreign key), victim_id (foreign key), status, and description. Here, you will also design a Java GUI to display, edit, fill, and delete data in both tables.


Finally, this book is hopefully useful for you.



In this book, you will create two MariaDB and PostgreSQL driven projects using PyQt. The step-by-step guide in this book is expected to help the reader's confidence to become a programmer who can solve database programming problems. A progressive project is provided to demonstrate how to apply the concepts of MariaDB and PostgreSQL using Python.

In second chapter, you will learn PyQt that consists of a number of Python bindings for cross-platform applications that combine all the strengths of Qt and Python. By using PyQt, you can include all Qt libraries in Python code, so you can write GUI applications in Python. In other words, you can use PyQt to access all the features provided by Qt through Python code. Because PyQt depends on the Qt libraries at run time, you need to install PyQt.

In third chapter, you will learn: How to create the initial three tables project in the School database: Teacher, Class, and Subject tables; How to create database configuration files; How to create a Python GUI for inserting and editing tables; How to create a Python GUI to join and query the three tables.

In fourth chapter, you will learn how to: Create a main form to connect all forms; Create a project will add three more tables to the school database: Student, Parent, and Tuition tables; Create a Python GUI for inserting and editing tables; Create a Python GUI to join and query over the three tables. In this chapter, you will join the six classes, Teacher, TClass, Subject, Student, Parent, and Tuition and make queries over those tables.

In chapter five, you will create dan configure PotgreSQL database. In this chapter, you will create Suspect table in crime database. This table has eleven columns: suspect_id (primary key), suspect_name, birth_date, case_date, report_date, suspect_ status, arrest_date, mother_name, address, telephone, and photo. You will also create GUI to display, edit, insert, and delete for this table.

In chapter six, you will create a table with the name Feature_Extraction, which has eight columns: feature_id (primary key), suspect_id (foreign key), feature1, feature2, feature3, feature4, feature5, and feature6. The six fields (except keys) will have a VARCHAR data type (200). You will also create GUI to display, edit, insert, and delete for this table.


In chapter seven, you will create two tables, Police and Investigator. The Police table has six columns: police_id (primary key), province, city, address, telephone, and photo. The Investigator table has eight columns: investigator_id (primary key), investigator_name, rank, birth_date, gender, address, telephone, and photo. You will also create GUI to display, edit, insert, and delete for both tables.
  

In chapter eight, you will create two tables, Victim and Case_File. The Victim table has nine columns: victim_id (primary key), victim_name, crime_type, birth_date, crime_date, gender, address, telephone, and photo. The Case_File table has seven columns: case_file_id (primary key), suspect_id (foreign key), police_id (foreign key), investigator_id (foreign key), victim_id (foreign key), status, and description. You will create GUI to display, edit, insert, and delete for both tables as well.




This hands-on introduction to database programming using Java is ideal for people with little or no programming experience. The goal of this concise book is not just to teach you Java, but to help you think like a programmer. Each brief chapter covers the material for one week of a college course to help you practice what you've learned. As you would expect, this book shows how to build from scratch two different databases: MySQL and SQLite using Java. In designing a GUI and as an IDE, you will make use of the NetBeans tool.

In the first chapter, you will learn: How to install NetBeans, JDK 11, and MySQL Connector/J; How to integrate external libraries into projects; How the basic MySQL commands are used; How to query statements to create databases, create tables, fill tables, and manipulate table contents is done.

In the second chapter, you will study: Creating the initial three table projects in the school database: Teacher table, TClass table, and Subject table; Creating database configuration files; Creating a Java GUI for viewing and navigating the contents of each table; Creating a Java GUI for inserting and editing tables; and Creating a Java GUI to join and query the three tables.

In the third chapter, you will learn: Creating the main form to connect all forms; Creating a project will add three more tables to the school database: the Student table, the Parent table, and Tuition table; Creating a Java GUI to view and navigate the contents of each table; Creating a Java GUI for editing, inserting, and deleting records in each table; Creating a Java GUI to join and query the three tables and all six.

In chapter four, you will study how to query the six tables.

In chapter five, you will be shown how to create SQLite database and tables with Java. In chapter six, you will be taught how to extract image features, utilizing BufferedImage class, in Java GUI. Digital image techniques to extract image features used in this chapted are grascaling, sharpening, invertering, blurring, dilation, erosion, closing, opening, vertical prewitt, horizontal prewitt, Laplacian, horizontal sobel, and vertical sobel. For readers, you can develop it to store other advanced image features based on descriptors such as SIFT and others for developing descriptor based matching.

In chapter seven, you will be taught to create Java GUI to view, edit, insert, and delete Suspect table data. This table has eleven columns: suspect_id (primary key), suspect_name, birth_date, case_date, report_date, suspect_ status, arrest_date, mother_name, address, telephone, and photo.

In chapter eight, you will be taught to create Java GUI to view, edit, insert, and delete Feature_Extraction table data. This table has eight columns: feature_id (primary key), suspect_id (foreign key), feature1, feature2, feature3, feature4, feature5, and feature6. All six fields (except keys) will have a BLOB data type, so that the image of the feature will be directly saved into this table.

In chapter nine, you will add two tables: Police_Station and Investigator. These two tables will later be joined to Suspect table through another table, File_Case, which will be built in the seventh chapter. The Police_Station has six columns: police_station_id (primary key), location, city, province, telephone, and photo. The Investigator has eight columns: investigator_id (primary key), investigator_name, rank, birth_date, gender, address, telephone, and photo. Here, you will design a Java GUI to display, edit, fill, and delete data in both tables.

In chapter ten, you will add two tables: Victim and Case_File. The File_Case table will connect four other tables: Suspect, Police_Station, Investigator and Victim. The Victim table has nine columns: victim_id (primary key), victim_name, crime_type, birth_date, crime_date, gender, address, telephone, and photo. The Case_File has seven columns: case_file_id (primary key), suspect_id (foreign key), police_station_id (foreign key), investigator_id (foreign key), victim_id (foreign key), status, and description. Here, you will also design a Java GUI to display, edit, fill, and delete data in both tables.


Finally, this book is hopefully useful and can improve database programming skills for every Java/MySQL/SQLite pogrammer.



Pada buku ini, Anda akan mempelajari bagaimana membangun dari nol sebuah sistem manajemen database PostgreSQL menggunakan Java. Dalam merancang GUI dan sebagai IDE, Anda akan memanfaatkan perangkat NetBeans. Secara bertahap dan langkah demi langkah, Anda akan diajari bagaimana memanfaatkan PostgreSQL dalam Java.

Pab bab kesatu, Anda akan mempelajari: Bagaimana menginstalasi NetBeans, JDK 11, dan konektor PostgreSQL; Bagaimana mengintegrasikan Library eksternal ke dalam projek; Bagaimana perintah dasar PostgreSQL digunakan; Bagaimana statemen query untuk menciptakan database, menciptakan tabel, mengisi tabel, dan memanipulasi isi tabel dilakukan. 

Pada bab kedua, Anda akan mempelajari: Menciptakan projek tiga tabel awal pada database sekolah: tabel Guru, tabel Kelas, dan tabel MatPel; Menciptakan file konfigurasi database; Menciptakan GUI Java untuk melihat dan menavigasi isi tiap tabel. Menciptakan GUI Java untuk menyisipkan dan mengedit tabel; dan Menciptakan GUI Java untuk menggabungkan dan melakukan query atas ketiga tabel tersebut.

Pada bab ketiga, Anda akan mempelajari: Menciptakan form utama untuk menghubungkan semua form; Menciptakan projek akan menambahkan tiga tabel lagi pada database sekolah: tabel Siswa, tabel Ortu, dan tabel UangSekolah; Menciptakan GUI Java untuk melihat dan menavigasi isi tiap tabel; Menciptakan GUI Java untuk mengedit, menyisipkan, dan menghapus rekaman pada tiap tabel; Menciptakan GUI Java untuk menggabungkan dan melakukan query atas ketiga tabel dan keenam tersebut.

Pada bab keempat, Anda akan mempelajari: Menciptakan projek akan menambahkan dua tabel terakhir pada database sekolah: tabel Nilai dan tabel Ujian; Menciptakan GUI Java untuk mengedit, menyisipkan, dan menghapus rekaman pada tiap tabel. Menciptakan GUI Java untuk menggabungkan dan melakukan query atas kedelapan tabel yang ada.


Akhir kata, diharapkan buku ini berguna dan bisa meningkatkan keahlian pemrograman database bagi programer Java/PostgreSQL seperti Anda.




Buku ini merupakan versi Python/PostgreSQL dari buku Python/MySQL yang telah sebelumnya telah ditulis oleh penulis. Apa yang mendasari ditulisnya buku ini adalah semakin populernya server database PostgreSQL belakangan ini dan semakin banyak programmer yang berimigrasi dari MySQL ke PostgreSQL.

Pada buku ini, Anda akan mempelajari membangun projek database sekolah, langkah demi langkah. Sejumlah widget dari PyQt akan digunakan untuk antarmuka user. 

Pada bab pertama, Anda akan mempelajari sejumlah konsep dan penggunaan dari operator dan klausa dalam PostgreSQL. Selain bereksperimen dalam skrip PostgreSQL, Anda juga akan diajari bagaimana menerapkannya dalam skrip Python.

Pada bab kedua, Anda akan mempelajari: Menciptakan projek tiga tabel awal pada database sekolah: tabel Guru, tabel Kelas, dan tabel MatPel; Menciptakan file konfigurasi database; Menciptakan GUI Python untuk melihat dan menavigasi isi tiap tabel. Menciptakan GUI Python untuk menyisipkan dan mengedit tabel; dan Menciptakan GUI Python untuk menggabungkan dan melakukan query atas ketiga tabel tersebut.

Pada bab ketiga, Anda akan mempelajari: Menciptakan form utama untuk menghubungkan semua form; Menciptakan projek akan menambahkan tiga tabel lagi pada database sekolah: tabel Siswa, tabel Ortu, dan tabel UangSekolah; Menciptakan GUI Python untuk melihat dan menavigasi isi tiap tabel; Menciptakan GUI Python untuk mengedit, menyisipkan, dan menghapus rekaman pada tiap tabel; Menciptakan GUI Python untuk menggabungkan dan melakukan query atas ketiga tabel dan keenam tersebut.

Pada bab keempat, Anda akan mempelajari: Menciptakan projek akan menambahkan dua tabel terakhir pada database sekolah: tabel Nilai dan tabel Ujian; Menciptakan GUI Python untuk mengedit, menyisipkan, dan menghapus rekaman pada tiap tabel. Menciptakan GUI Python untuk menggabungkan dan melakukan query atas kedelapan tabel yang ada.

Akhir kata, diharapkan buku ini berguna dan bisa meningkatkan keahlian pemrograman database bagi programmer Python.





Pada buku ini, Anda akan mempelajari bagaimana merelasikan ilmu kriptografi dengan database menggunakan Java/MySQL. Kriptografi merupakan seni dan ilmu dalam menciptakan sebuah sistem kripto yang mampu menyediakan keamanan informasi. Kriptografi berkaitan erat dengan pengamanan data digital. Ilmu ini terdiri-dari mekanisme-mekanisme perancangan yang didasarkan pada algoritma-algoritma matematik yang menawarkan sejumlah layanan keamanan informasi fundamental. Pada buku ini, Anda akan belajar bagaimana dasar-dasar penerapan ilmu kriptografi dalam database, seperti menciptakan database login yang di dalamnya disimpan hash atas password yang disalt untuk menciptakan akses login yang sangat aman. Agar fokus, selain paket security dan crypto dari Java,  buku ini hanya menggunakan dua pustaka eksternal: Connector/J untuk memfasilitasi koneksi Java ke MySQL dan JCalendar untuk menampilkan kontrol kalender.

Pada bab pertama, Anda akan mempelajari dasar-dasar kriptografi menggunakan Java. Di sini, Anda akan mempelajari bagaimana menuliskan program Java untuk menghitung Hash, MAC (Message Authentication Code), menyimpan kunci dalam KeyStore, membangkitkan PrivateKey dan PublicKey, mengenkripsi/mendekripsi data, dan membangkitkan dan memverifikasi sidik digital.

Pada bab kedua, Anda akan belajar bagaimana menciptakan dan menyimpan password salt dan memverifikasinya. Anda akan menciptakan tabel Login. Pada kasus ini, Anda akan melihat bagaimana menciptakan GUI Java menggunakan NetBeans untuk mengimplementasikannya. Di samping tabel Login, pada bab ini Anda juga akan menciptakan tabel Klien. Pada kasus tabel Klien, Anda akan belajar bagaimana membangkitkan dan menyimpan kunci publik dan kunci private ke dalam database. Anda juga akan belajar bagaimana mengenkripsi/mendekripsi data dan menyimpan hasilnya ke dalam database.

Pada bab ketiga, Anda akan menciptakan tabel Akun. Tabel Akun ini memiliki sepuluh bidang berikut: id_akun (kunci utama), id_klien (kunci tamu), no_akun, tanggal_akun, jenis_akun, saldo_plain, saldo_cipher, saldo_decipher, sidik_digital, dan verifikasi_sidik. Pada kasus ini, Anda akan belajar bagaimana menerapkan membangkitkan dan memverifikasi sidik digital dan menyimpan hasilnya ke dalam database.

Pada bab keempat, Anda akan menciptkan tabel Data_Klien, yang memiliki tujuh bidang berikut: id_data_klien (kunci utama), id_akun (kunci tamu), tanggal_lahir, alamat, nama_ibu, telepon, dan path_foto. Pada bab ini juga, anda akan menciptakan tabel Karyawan yang memiliki dua belas bidang berikut: id_karyawan (kunci utama), posisi, password, mulai_kerja, tanggal_lahir, alamat, nama_ibu, telepon, path_foto, nama_karyawan, email, dan salt. Di sini, Anda juga belajar menerapkan kriptografi dalam menciptakan hash atas password yang disalt untuk setiap karyawan.


Akhir kata, diharapkan buku ini berguna dan bisa meningkatkan keahlian pemrograman database bagi programer Java seperti Anda.




Pada buku ini, Anda akan mempelajari bagaimana membangun dari nol sebuah sistem manajemen database rekam jejak kriminal menggunakan Java/MySQL. Semua kode Java untuk melakukan pemrosesan citra digital pada buku ini merupakan Native Java. Disengaja tidak mengandalkan pustaka eksternal, agar pembaca mengetahui secara detil proses ekstraksi citra digital mulai dari nol dalam Java. Hanya ada tiga pustaka eksternal yang digunakan pada buku ini: Connector/J untuk memfasilitasi koneksi Java ke MySQL, JCalendar untuk menampilkan kontrol kalender, dan JFreeChart untuk menampilan grafik.

Fitur-fitur citra digital yang digunakan pada buku ini adalah tapis keabuan, tapis penajaman, tapis balik (invert), dilasi, erosi, closing, dan opening. Bagi pembaca, Anda bisa mengembangkannya untuk menyimpan fitur-fitur mutakhir lain berbasis deskriptor seperti SIFT dan lainnya untuk pengembangan pencocokan berbasis deskriptor.

Pada bab pertama, Anda akan ditunjukkan sejumlah perangkat yang diperlukan untuk diunduh dan diinstalasi. Anda perlu mengetahui bagaimana menambahkan pustaka eksternal ke dalam lingkungan NetBeans. Perangkat-perangkat ini diperlukan agar Anda bisa menjalankan skrip Java yang disediakan.

Pada bab kedua, Anda akan diajarkan untuk menciptakan sebuah tabel Tersangka pada database projek. Tabel ini memiliki sebelas kolom: id_tersangka (kunci primer), nama_tersangka, tanggal_lahir, tanggal_perkara, tanggal_laporan, status_kasus, tanggal_ditahan, nama_ibu, alamat, telepon, dan foto. Di sini, Anda juga akan diajak untuk berekspresimen merancang GUI Java untuk menampilkan, mengedit, mengisi, dan menghapus data tabel Tersangka.

Pada bab ketiga, Anda akan menciptakan tabel kedua dengan nama Ekstraksi_Fitur, yang memiliki delapan kolom: id_fitur (kunci primer), id_tersangka (kunci asing), canny, adapatif, kmeans, histogram, gradien, dan segmentasi. Keenam bidang (kecuali kunci) akan memiliki tipe data blob, agar citra fitur akan langsung disimpan ke dalam tabel ini. Di sini, Anda juga akan diajak untuk berekspresimen merancang GUI Java untuk menampilkan, mengedit, mengisi, dan menghapus data tabel Ekstraksi_Fitur.

Pada bab keempat, Anda akan menambahkan dua tabel: Polres dan Penyidik. Kedua tabel ini nanti akan diintegrasikan dengan tabel Tersangka melalui sebuah tabel lain, Berkas_Perkara, yang akan dibangun pada bab kelima. Tabel ketiga pada buku ini, dengan nama Polres, memiliki enam kolom: id_polres (kunci primer), lokasi, kab_kota, propinsi, telepon, dan foto. Tabel keempat pada buku ini dengan nama Penyidik memiliki delapan kolom: id_penyidik (kunci primer), nama_penyidik, pangkat, tanggal_lahir, jenis_kelamin, alamat, telepon, dan foto. Di sini, Anda juga akan diajak untuk berekspresimen merancang GUI Java untuk menampilkan, mengedit, mengisi, dan menghapus data pada kedua tabel tersebut.

Pada bab kelima, Anda akan menambahkan dua tabel: Korban dan Berkas_Perkara. Tabel Berkas_Perkara akan menghubungkan empat tabel lainnya: Tersangka, Polres, Penyidik, dan Korban. Tabel kelima pada buku ini, dengan nama Korban, memiliki sembilan kolom: id_korban (kunci primer), nama_korban, korban_kejahatan, tanggal_lahir, tanggal_kejahatan, jenis_kelamin, alamat, telepon, dan foto. Tabel keenam, dengan nama Berkas_Perkara, yang memiliki tujuh kolom: id_berkas (kunci primer), id_tersangka (kunci asing), id_polres (kunci asing), id_penyidik (kunci asing), id_korban (kunci asing), status, dan keterangan. Anda juga akan diajak untuk berekspresimen merancang GUI Java untuk menampilkan, mengedit, mengisi, dan menghapus data pada kedua tabel tersebut.


Akhir kata, diharapkan buku ini berguna dan bisa meningkatkan keahlian pemrograman database bagi programer Java seperti Anda.


Pada buku ini, Anda akan mempelajari bagaimana membangun dari nol sebuah sistem manajemen database MySQL menggunakan PyQt. Dalam merancang GUI, Anda akan memanfaatkan perangkat Qt Designer. Secara bertahap dan langkah demi langkah, Anda akan diajari bagaimana memanfaatkan MySQL dalam Python.

Pab bab kesatu, Anda akan mempelajari: Bagaimana beberapa perintah dasar MySQL digunakan; Bagaimana statemen query untuk menciptakan database, menciptakan tabel, mengisi tabel, dan memanipulasi isi tabel dilakukan; Bagaimana PyQt dan Qt Designer dipakai untuk menciptakan GUI Python; Menciptakan GUI Python dasar yang memanfaatkan sebuah Line Edit dan sebuah Push Button.

Pada bab kedua, Anda akan mempelajari: Menciptakan projek tiga tabel awal pada database sekolah: tabel Guru, tabel Kelas, dan tabel MatPel; Menciptakan file konfigurasi database; Menciptakan GUI Python untuk melihat dan menavigasi isi tiap tabel. Menciptakan GUI Python untuk menyisipkan dan mengedit tabel; dan Menciptakan GUI Python untuk menggabungkan dan melakukan query atas ketiga tabel tersebut.

Pada bab ketiga, Anda akan mempelajari: Menciptakan form utama untuk menghubungkan semua form; Menciptakan projek akan menambahkan tiga tabel lagi pada database sekolah: tabel Siswa, tabel Ortu, dan tabel UangSekolah; Menciptakan GUI Python untuk melihat dan menavigasi isi tiap tabel; Menciptakan GUI Python untuk mengedit, menyisipkan, dan menghapus rekaman pada tiap tabel; Menciptakan GUI Python untuk menggabungkan dan melakukan query atas ketiga tabel dan keenam tersebut.

Pada bab keempat, Anda akan mempelajari: Menciptakan projek akan menambahkan dua tabel terakhir pada database sekolah: tabel Nilai dan tabel Ujian; Menciptakan GUI Python untuk mengedit, menyisipkan, dan menghapus rekaman pada tiap tabel. Menciptakan GUI Python untuk menggabungkan dan melakukan query atas kedelapan tabel yang ada.


Akhir kata, diharapkan buku ini berguna dan bisa meningkatkan keahlian pemrograman database bagi programer Python seperti Anda.



AWARDS FROM BOOKAUTHORITY 

20 Best MariaDB Books of All Time



6 Best New SQLite eBooks To Read In 2020



6 Best New SQLite eBooks To Read In 2020

24 Best New Cryptography Books To Read In 2020

7 Best New Databases eBooks To Read In 2020

100 Best Image Processing Books of All Time



7 Best New PostgreSQL eBooks To Read In 2020

3 Best New SQLite eBooks To Read In 2020

9 Best New MySQL eBooks To Read In 2020

28 Best JDBC Books of All Time



26 Best New Cryptography Books To Read In 2019




44 Best Databases Books of All Time



100 Best Image Processing Books of All Time



53 Best OpenCV Books of All Time




21 Best New Image Processing Books To Read In 2019

8 Best OpenCV eBooks for Beginners

6 Best New SQLite Books To Read In 2019




14 Best New OpenCV Books To Read In 2019

8 Best New Databases Books To Read In 2019


31 Best Databases eBooks of All Time



20 Best MariaDB Books of All Time




9 Best New MariaDB Books To Read In 2019



7 Best MariaDB eBooks for Beginners




Vivian Siahaan is an independent learner who likes to do new things. She was born, raised in Hinalang Bagasan, Balige, on the banks of Lake Toba, and completed high school education from SMAN 1 Balige. She started herself learning Java, Android, JavaScript, CSS, C ++, Python, R, Visual Basic, Visual C #, MATLAB, Mathematica, PHP, JSP, MySQL, SQL Server, Oracle, Access, and other programming languages. She studied programming from scratch, starting with the most basic syntax and logic, by building several simple and applicable GUI applications. Animation and games are fields of programming that are interests that she always wants to develop. Besides studying mathematical logic and programming, the author also has the pleasure of reading novels. Vivian Siahaan has written dozens of ebooks that have been published on Sparta Publisher: Data Structure with Java; Java Programming: Cookbook; C ++ Programming: Cookbook; C Programming For High Schools / Vocational Schools and Students; Java Programming for SMA / SMK; Java Tutorial: GUI, Graphics and Animation; Visual Basic Programming: From A to Z; Java Programming for Animation and Games; C # Programming for SMA / SMK and Students; MATLAB For Students and Researchers; Graphics in JavaScript: Quick Learning Series; JavaScript Image Processing Methods: From A to Z; Java GUI Case Study: AWT & Swing; Basic CSS and JavaScript; PHP / MySQL Programming: Cookbook; Visual Basic: Cookbook; C ++ Programming for High Schools / Vocational Schools and Students; Concepts and Practices of C ++; PHP / MySQL For Students; C # Programming: From A to Z; Visual Basic for SMA / SMK and Students; C # .NET and SQL Server for High School / Vocational School and Students; Python Programming Theory and Practice; Python GUI Programming; Python GUI and Database; Build From Zero School Database Management System In Python / MySQL; Database Management System in Python / MySQL; Python / MySQL For Management Systems of Criminal Track Record Database; Java / MySQL For Management Systems of Criminal Track Records Database; Database and Critptography Using Java / MySQL; Build From Zero School Database Management System With Java / MySQL.





You can purchase my computer text book titled "A Heuristic Database Programming with PHP/PostgreSQL and PostgreSQL" on Google Play Books and Amazon as follows:



You can purchase my computer text book titled "The Ultimate Guide to Professional Database Programming with Python and PostgreSQL" on Google Play Books and Amazon as follows:



You can as well purchase my computer text book titled "The Self-Taught Coder: The Definitive Guide to Database Programming with Python and MySQL" on Google Play Books and Amazon as follows:



You can as well purchase my computer text book titled "Step By Step Database Programming with JDBC and PostgreSQL" on Google Play Books and Amazon as follows:



You can as well purchase my computer text book titled "A Pragmatic Approach to Database Programming with JDBC and MySQL" on Google Play Books and Amazon as follows:


You can as well purchase my computer text book titled "A Practical Guide to Database Programming with PHP/MySQL" on Google Play Books and Amazon as follows:




I'm working on Crime Record Database Management System, in which I am using some modules including OpenCV, Matplotlib, Pandas, and NumPy. The database used is MySQL. I will use some image processing library from OpenCV to extract and match image features.











I've also designed School Database Management System with Eight Tables Using Python and MySQL with Qt Designer as GUI Tool. The following is ERD diagram used in this project and application when it is run:








I've designed Hospital Database Management System with Five Tables Using Python and MySQL with Qt Designer as GUI Tool. The following is ERD diagram used in this project:


And, this is the look of GUI when the Python script is run:








This is the complete version of DBMS  for school database management in one of my works in programming database Access and SQL Server with C# .NET.:















The Bone Tree (2015), a Thriller Novel by Greg Iles: Summary
The paternal warmth Special agent John Kaiser felt toward Caitlin Masters, the publisher of a local newspaper, Natchez Examiner, reflected the conflicts he felt about overall case, and none was more complex than he felt about the Cage family. Penn and Tom Cage represented a unique problem for him. Penn Cage was not only Caitlin Masters’s fiancé, but also the mayor of Natchez, a successful novelist, and a former prosecutor from Houston.

Tom Cage was almost a relic bygone era. A former combat medic in Korea, Cage had gone on to practice medicine foe nearly fifty years in Natchez, where he had worked tirelessly for decades to treat the black community with no thought of recognition  or reward. Viola Turner, Dr. Cage’s sixty-five- year- old former nurse, had died in her sister’s home in Natchez. After living in Chicago for thirty-seven-years, the Natchez native was diagnosed with terminal cancer and returned home to die in the care of her old employer.



The Breathing Method, a Winter’s Tale (1982), Stephen King; summary

This is the only horror story from four novellas of Different Season. The story follows David Adley that attends the men's club for years. His boss has invited him to the club. He experiences unnatural things since then, but he still expects another invitation. Ten years, more or less, has passed since he joined the club, while much has changed in the world outside. Nothing has changed in the club, and Stevens the doorman seems not to have aged a month, or a single day. In the years he comes to the club, then Dr. Emlyn McCarron brings a Christmas tale from the past, the Breathing Method story.



Inferno (2013), a Novel by Dan Brown: Summary 
Langdon kept hallucinating, the silver – haired woman and the iconic mask. Dr. Brooks only assured him that recurring visions were common with amnesia. Sienna brought him to her apartment and he studied that young doctor. Dr. Sienna Brook, an Italian surgery was in her early thirties. A newspaper article with a photo of Sienna at age seven proclaimed that girl as prodigy. Far coast of Italy in a luxury vessel, there was a man with his employee. Known to his employees only as ‘the provost’ he had built his reputation – and The Consortium itself – on two golden rules. Never make a promise you can’t keep and never lie to a client, ever. 


Read More>>>








A Game of Thrones (1996), Fantasy Novel by George R.R. Martin: summary

The tale follows the Seven Kingdoms that was united by Aegon the Dragon of Targaryens (the blood of the dragon). Seven houses has been married in one empire called Seven Kingdoms, it was the dragon that they married for three hundred years until the day a Baratheon's queen broke it into a ruin. The kingdom’s ruled by King Robert Baratheon after banishing the dragon’s blood, the Mad King Aerys Targaryen, that has slew Ned’s Stark's family and Robert's lover (Lyanna Stark, Ned's sister). Robert's queen, a Lannister,  was driven by greediness, jealousy, and incestuous madness with her own twin brother, had killed numerous  powerful people in the empire including Ned Stark (a warrior, a Hand and a friend of King Robert), and others warriors.  After the death of King Robert, Eddard Stark was accused of a treason and put him to death. 


Read More>>>





Purity (2015), a Psychological Drama by Jonathan Franzen: summary
Nobody was there to tell her that it might be the best idea, if she wanted to set about doing good in the world, to graduate from college with $130,000 in student debt. Nobody had warned her current job as sales with Igor. Still in debt and confused job, still her mother‘s sole comfort. In four of twenty-two months was roughly the frequency with which. She had definitely inherited some of her body’s issues, but she at least had hard evidence of her experience with boys to back her up.



Read More>>>





2010: Odyssey Two (1982), a Science Fiction by Arthur C. Clarke: Summary
He was on the list on the expedition to Jupiter abroad spacecraft Cosmonaut Alexei Leonov. American spacecraft Discovery might be crash on Jupiter Mission. Four men had died, and one disappeared, out there among the moons of Jupiter. Dr Sivasubramanian Chandrasegarampillai, Professor of Computer Science at the University of Illinois Urbana, never thought about the dead astronauts, but he grieved only for his lost child, HAL 9000 (Hal). 



Read More>>>






Virus (1997), a Science Fiction by Bill Buchanan: Summary
Iraqi Army created a virus named PAM that infected the Allied Satellite Armada software. Iraqi President and his father-in-law Saddam Hussein were behind this. The consequences of this software sabotage have destructed space stations. Approximately 4,800 commercial were lost flights and over fifty thousand people have been confirmed dead. The situation drove global economic catastrophe. Once a virgin PAM virus program starts running, she can’t be destroyed.



Read More>>>





The Goldfinch (2013), Winner of the Pulitzer Prize, Donna Tartt: summary
He recalled his youth life and his death mother. As it was she died when he was a kid. He remembered everything a few weeks before she died. When she came to New York fresh from Kansas, she worked part-time as a model though she was too uneasy in front of camera to be very good at it; whatever she had, it didn’t translate to film. She had black hair, fair skin that freckled in summer; and in the slant of her cheekbones there was such an eccentric mixture of tribal and Celtic Twilight that sometimes people guessed she was Icelandic. 


Read More>>>





Threat Vector (2012), a Jack Ryan Novel, Tom Clancy with Mark Greany: summary
Former operatives of the Jamahiriya Security Organization (JSO), the dreaded national intelligence service of Lybia under Moammar Gaddafi, managed to survive after Gaddafi’s death. The Seven agents made their way to Istanbul, Turkey, where they were sponsored by elements in the local underworld. 

Only five agents remained in the spy game. The five Libyans became targets of an off-the-books assassination team from U.S. A year earlier, a member of JSO cell had shot and killed Brian Caruso, the brother of the Americans, and a friend of the rest. Five young Americans were in secret operation named the Campus. It was John Clark, Domingo Chavez, Sam Driscoll, Dominic Caruso, and Jack Ryan Jr, the oldest son of President Jack Ryan. The five targets were down and Jack Ryan found the Campus team’s name on the e-mail of the target five.







Resume/Ringkasan Novel Terjemahan dalam Bahasa Indonesia: Murder on the Orient Express, a Hercule Poirot Mystery, (Pembunuhan di Orient Express),  Agatha Christie
Singgah bermalam di Tokatlian, detektif Belgia itu pun segera memesan kereta The Orient Express yang akan berangkat keesokan harinya. Tanpa sengaja dia bertemu kawannya Direktur Buoc, wakil dari Compagnie Internationale des Wagons Lits di hotel yang sama menganjurkannya menaiki kereta itu.










12 comments:

  1. Hi Vivian; I just purchased the softcover edition of your book "POSTGRESQL FOR PYTHON GUI", as it covers the topic I'm currently self-teaching. I suppose there's a download website for the scripts/programs in the book: where can I find it?
    Thanks for your support.
    Best Regards
    Giovanni

    ReplyDelete
    Replies
    1. Please give your email and I will send you the source code. Thanks...

      Delete
  2. This comment has been removed by a blog administrator.

    ReplyDelete
  3. Hi Vivian, bought and love your book Python GUI with SQL Server for Absolute Beginners but need a link to download code, would take wasted days to type it all out! Where can we get that (nothing special, just a zip file with code is fine)?

    ReplyDelete
    Replies
    1. Please give your email and I will send you the source code. Thanks...

      Delete
  4. Thankyou for this blog its really interesting and informative, but there is some errors
    Which need to be recorrect by owner. See i also have some good blogs related to
    Technical services, you can check on my website.

    Avast Login
    garmin.com/express
    avg.com/retail
    bullguard support number

    ReplyDelete
  5. Hi, I'm working through 'Python GUI with MySQL', and I can't find the sample database with titles, isbn, etc. The example referred to in the book is the 'classicmodels' database and then the code uses the book database that I can't find. Any help would be great. I really like your FFT/Qt book, by the way.

    ReplyDelete
    Replies
    1. Please give your email and I will send you the source code. Thanks...

      Delete
  6. Hi Vivian,
    I just bought your Python Gui with Mysql - I love it but could you please send me the source code?
    Thank you,
    Frank

    ReplyDelete
  7. Hi Vivian, i've bought your Book 'Learning PyQt5'. Rearly nice and clear, but a lot of typing. Can you please send me the code to sievert[at]sam.wupper.de
    Best regards
    Armin

    ReplyDelete
  8. Hi Vivian, bought two books. Hands-On Guide To IMAGE CLASSIFICATION Using Scikit-Learn, Keras, And TensorFlow with PYTHON GUI (English Edition) and Hands-On Guide To IMAGE CLASSIFICATION Using Scikit-Learn, Keras, And TensorFlow with PYTHON GUI (English Edition), but need a link to downloads code, Where can we get that (nothing special, just a zip file with code is fine)? my email: waldemar.maldonado@gmail.com

    ReplyDelete
  9. Lady I got 2 of yours books
    VISUAL C# .NET A Step By Step, Project-Based Guide to Develop Desktop Applications
    VISUAL C# .NET FOR STUDENTS A Project-Based Approach to Develop Desktop Applications
    but I need code for them.
    My email is mladja66@protonmail.com

    ReplyDelete