Brainmatics

Java and Android Fundamentals

Java adalah bahasa pemrograman berorientasi object. Java Platform Standard Edition (JSE) menyediakan lingkungan yang lengkap untuk pengembangan aplikasi di desktop dan client/server. Materi pelatihan pada Java Fundamental (JSE) akan fokus ke masalah pengantar aplikasi Java, pemrograman berorientasi object (OOP), dan berbagai teknik yang digunakan pada pemrograman bahasa Java. Materi disajikan dengan metode perimbangan teori-praktek, dengan harapan bahwa peserta training disamping memahami paradigma berorientasi objek, juga memiliki skill pemrograman Java di level dasar-intermediate.

Platform Android saat ini sudah menjadi hal yang perlu diprioritaskan dalam pemilihan paltform suatu mobile. Android adalah sebuah software open-source yang dikembangkan untuk aplikasi perangkat mobile yang penuh dengan fitur.

Pada training ini, peserta akan diajarkan mulai dari pengenalan Android, pengembangan animasi splash screen, pembuatan main menu, eksplorasi Andoird SDK guna pengembangan aplikasi berbasis built-in camera, memperbesar LBS, dan memaksimalkan aplikasi dengan fitur sosial. Selain itu, Anda juga akan dibekali bagaimana kustomisasi aplikasi untuk handsets yang berbeda, screen size, dan bahasa-bahasa asing. Terakhir, agar hasil pengembangan aplikasi Android Anda bisa dinikmati oleh orang banyak, Anda juga akan dibekali bagaimana cara untuk mempersiapkan publikasi aplikasi Anda ke Android Market.

 

CONTENT

1. Object-Oriented Programming

    1.1. Object-Oriented Programming Concepts

2. Introduction to Java Applications

    2.1. The Java Programming Language
    2.2. The Structure of a Simple Program
    2.3. Compiling and Running a Java Program
    2.4. Errors
    2.5. Algorithms

3. Classes and Objects

    3.1. Declaring a Class with a Method and Instantiating an Object of a Class
    3.2. Declaring a Method with a Parameter
    3.3. Instance Variables, set Methods and get Methods
    3.4. Primitive Types vs. Reference Types
    3.5. Initializing Objects with Constructors
    3.6. Floating-Point Numbers and Type double

4. Control Statements

    4.1. The if Statement
    4.2. Comparing Values
    4.3. Multiple Alternatives
    4.4. Using Boolean Expressions
    4.5. while Loops
    4.6. for Loops
    4.7. Common Loop Algorithms
    4.8. Nested Loops
    4.9. Using a Debugger

5. Methods

    5.1. Program Modules in Java
    5.2. static Methods, static Fields and Class Math
    5.3. Declaring Methods with Multiple Parameters
    5.4. Notes on Declaring and Using Methods
    5.5. Method-Call Stack and Activation Records
    5.6. Argument Promotion and Casting
    5.7. Java API Packages
    5.8. Scope of Declarations
    5.9. Method Overloading

6. Arrays

    6.1. Array Lists
    6.2. Wrappers and Auto-boxing
    6.3. The Enhanced for Loop
    6.4. Partially Filled Arrays
    6.5. Common Array Algorithms
    6.6. Regression Testing
    6.7. Two-Dimensional Arrays

7. Inheritance

    7.1. Inheritance Hierarchies
    7.2. Implementing Subclasses
    7.3. Overriding Methods
    7.4. Subclass Construction
    7.5. Converting Between Subclass and Superclass Types
    7.6. Polymorphism and Inheritance
    7.7. Object: The Cosmic Superclass
    7.8. Using Inheritance to Customize Frames

8. Polymorphism

    8.1. Using Interfaces for Callbacks
    8.2. Inner Classes
    8.3. Mock Objects
    8.4. Events, Event Sources, and Event Listeners
    8.5. Using Inner Classes for Listeners
    8.6. Building Applications with Buttons
    8.7. Processing Timer Events
    8.8. Mouse Events

9. GUI Component

    9.1. Processing Text Input
    9.2. Text Areas
    9.3. Layout Management
    9.4. Choices
    9.5. Menus
    9.6. Exploring the Swing Documentation

10. Exception Handling

    10.1. Reading and Writing Text Files
    10.2. Reading Text Input
    10.3. Throwing Exceptions
    10.4. Checked and Unchecked Exceptions
    10.5. Catching Exceptions
    10.6. Designing Custom Exception Types

11. Files and Streams

    11.1. Class File
    11.2. Sequential-Access Text Files
    11.3. Object Serialization
    11.4. Additional java.io Classes
    11.5. Opening Files with JFileChooser

12. Recursion

    12.1. Triangle Numbers
    12.2. Recursive Helper Methods
    12.3. The Efficiency of Recursion
    12.4. Permutations
    12.5. Mutual Recursions

13. Searching and Sorting

    13.1. Selection Sort
    13.2. Profiling the Selection Sort Algorithm
    13.3. Analyzing the Performance of the Selection Sort Algorithm
    13.4. Merge Sort
    13.5. Analyzing the Merge Sort Algorithm
    13.6. Searching
    13.7. Binary Search
    13.8. Sorting Real Data

14. Data structures

    14.1. Using Linked Lists
    14.2. Implementing Linked Lists
    14.3. Abstract Data Types
    14.4. Stacks and Queues

15. Multithreading

    15.1. Running Threads
    15.2. Terminating Threads
    15.3. Race Conditions
    15.4. Synchronizing Object Access
    15.5. Avoiding Deadlocks

16. Networking

    16.1. The Internet Protocol
    16.2. Application Level Protocols
    16.3. A Client Program
    16.4. A Server Program
    16.5. URL Connections

17. Manipulating Database with JDBC

    17.1. Connecting to and Querying a Database
    17.2. Display the result of the query

18. Android Fundamentals

    18.1 Getting Started with Android
    18.2 Mastering the Android Development Tools
    18.3 Building Android Applications
    18.4 Managing Application Resources
    18.5 Configuring the Android Manifest File
    18.6 Designing an Application Framework

19. Building an Application Framework

    19.1 Implementing an Animated Splash Screen
    19.2 Implementing the Main Menu Screen
    19.3 Developing the Help and Scores Screens
    19.4 Building Forms to Collect User Input
    19.5 Using Dialogs to Collect User Input
    19.6 Adding Application Logic

20. Enhancing Your Application with Powerful Android Features

    20..1 Working with Images and the Camera
    20..2 Adding Network Support
    20..3 Adding More Network Support
    20..4 Adding Social Features
    20..5 Creating a Home Screen App Widget

21. Adding Polish to Your Android Application

    21.1 Internationalizing Your Application
    21.2 Developing for Different Devices
    21.3 Diving Deeper into Android
    21.4 Testing Android Applications

22. Publishing Your Application

    22.1 Getting Ready to Publish
    22.2 Publishing on the Android Market

 

 

INSTRUCTOR


pak hendroHendro Subagyo.
Menyelesaikan program S1 (B.Eng) dan S2 (M.Eng) pada jurusan Ilmu Komputer dan Informasi Matematik di The University of Electro-Communications, Tokyo, Jepang pada tahun 1999 dan 2001. Saat ini sedang menyelesaikan program S3 (PhD) pada jurusan dan universitas yang sama. Peneliti di Pusat Dokumentasi Informasi Ilmiah (PDII), Lembaga Ilmu Pengetahuan (LIPI). Memiliki minat pada sistem operasi, pemrograman dan bahasa pemrograman (khususnya Java dan Real-Time Java) dan komputer aritmatika. Pengembang aplikasi berbasis Java (J2SE dan J2EE) di beberapa perusahaan IT di Jepang dan Indonesia.

 

agus-haryantoAgus Haryanto, Lahir di Jakarta 9 Agustus 1979. Menamatkan Kuliah S1 Manajemen Informatika di Universitas Jayakarta pada tahun 2005, dan menamatkan Kuliah S2 di STMIK Eresha pada tahun 2012. Sekarang aktif sebagai pengembang Aplikasi Android dan Web Application serta aktif sebagai pembicara seminar – seminar berbasis Android dan Java di Indonesia.


 

Hendro Steven Tampake, Lahir di Jakarta 19 November 1981. Menamatkan S1 Teknik Informatika di UKSW Salatiga pada tahun 2005, dan S2 Jurusan Ilmu Komputer di UGM Yogyakarta pada tahun 2011. Aktif sebagai Software Development Engineer, Instructor Training, dan Programmer dengan berbagai teknologi seperti: PHP/CodeIgniter, MySQL, JSE, JEE, JME, Ajax, PGSQL.