Situs ini diperuntukkan sebagai media penyebaran semua karya tulis saya. Selain itu, situs ini diperuntukkan bagi Anda sebagai pembelajar mandiri yang ingin memahami dan memperdalam dunia pemrograman baik Java, MATLAB, C/C++, Python, Visual Basic .NET, Visual C#.NET, dan Pemrograman Internet (PHP/MySQL). Di situs ini juga disediakan sejumlah aplikasi GUI MATLAB yang dapat Anda unduh. Anda dapat memodifikasinya sesuai dengan kebutuhan Anda sebagai pembelajar dan peneliti. Semua bahan materi maupun aplikasi GUI MATLAB pada situs ini akan selalu diperbarui sesuai dengan perkuliahan dan studi kasus yang dilakukan oleh penulis. Ke depannya, materi yang ada pada blog ini akan banyak berkaitan dengan pemrosesan sinyal/citra/video digital, kriptografi/kriptanalisis, steganografi/steganalisis, dan forensika multimedia yang menjadi objek kajian penelitian penulis. Bagi yang ingin menyumbangkan pemikiran, Anda dipersilahkan memberikan masukan melalui kolom komentar.





KUNJUNGI KANAL YOUTUBE KAMI: BALIGE ACADEMY


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 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 

9 Best New MySQL eBooks To Read In 2020


3 Best New SQLite 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

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

















Terimakasih dan Horas!!!






MY NEW BOOK IN ANDI PUBLISHER 2019

PHP Mysql Pemrograman Berorientasi Objek Bagi Programer





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



You can as well 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 "A Practical Guide to Database Programming with PHP/MySQL" 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 "Step By Step Database Programming with JDBC and PostgreSQL" on Google Play Books and Amazon as follows: 





Sejumlah buku saya yang telah diterbitkan dan ada di sejumlah toko buku:







Tujuan utama dari buku ini adalah memberikan kesempatan bagi para mahasiswa untuk menerapkan pemrograman MATLAB dalm mengimplementasikan teknik-teknik untuk menyelesaikan berbagai permasalahan dalam Sinyal dan Sistem. Buku ini mendorong para mahasiswa untuk mengeksplorasi terapan MATLAB sebagai perangkat pembantu dalam menyelesaikan topik-topik yang lebih rumit. Tujuan lain yang ingin dicapai adalah untuk mengintroduksi pemrograman MATLAB sebagai suatu alat bantu komputasi dan simulasi bagi para (calon)insinyur dan (calon) ilmuwan yang (sebelumnya) tidak memilikki pemahaman tentang MATLAB. Buku ini menganut pendekatan belajar sendiri, yaitu pembaca ditantang untuk mencoba sendiri dalam menemukan cara pemrograman MATLAB yang efesien. Kode-kode MATLAB yang yang disediakan pada buku ini dapat dengan mudah dimodifikasi untuk menyelesaikan masalah-masalah yang hampir sama.

Berikut adalah topik-topik kupasan yang secara komprehensif dibahas: Bab 1. Sinyal dan Sistem Linier; Bab 2. Proses Acak; Bab 3. Sistem Diskret; Bab 4. Deret dan Transformasi Fourier; Bab 5. Transformasi Z; Bab 6. Ruang Keadaan; Bab 7. Pemodelan; Bab 8. DFT; Bab 9. Modulasi.





No comments: