1 of 49

Aturan Perkuliahan:

  1. Berdoa sebelum belajar
  2. Belajar Disiplin
  3. Belajar Konsentrasi/Fokus
  4. Belajar Memahami
  5. Belajar Bertanya
  6. Belajar Mengikuti Aturan
  7. Belajar Bersih
  8. Belajar Sopan
  9. Ingat dengan Pemberi Dana

2 of 49

Tugas Perkuliahan:

  1. Buat daftar isi tentang Mata Kuliah ini pada Blog Anda.
  2. Buat Post sesuai materi setiap minggu
  3. Materi berisi ringkasan materi kuliah.
  4. Berisi tanya jawab tentang materi yang belum anda mengerti, jawaban bisa dari google maupun GPT.
  5. Berisi link dan video yang berkaitan dengan topik

3 of 49

Tugas Kelompok:

  1. Buat Kelompok 4-5 Mahasiswa
  2. Tunjuk Ketua Kelompok
  3. Setiap anggota kelompok harus yakin bahwa semua anggota kelompok sudah mengerti dengan materi yang disampaikan.
  4. Jika belum mengerti tanyakan ke lain atau Search
  5. Akan ada tugas presentasi dipertemuan akhir

4 of 49

Pengantar Pemrograman (Java)

5 of 49

CPMK & Sub-CPMK

CPMK:

- Memahami konsep dasar pemrograman Java

Sub-CPMK:

- Menjelaskan konsep pemrograman

- Mengenal lingkungan Java

6 of 49

Tujuan Pembelajaran

  • Mahasiswa memahami perbedaan sintaks, konsep, dan penggunaan C++ dan Java

7 of 49

Apa itu Pemrograman?

  • Proses menulis instruksi agar komputer menjalankan tugas tertentu.

8 of 49

Apa itu Software?

  • Perangkat lunak yang menjalankan fungsi tertentu pada komputer.

9 of 49

Jenis Software

- Software Sistem

- Software Aplikasi

10 of 49

Sejarah Java

  • Dikembangkan oleh Sun Microsystems tahun 1995.

11 of 49

Karakteristik Java

- Object Oriented

- Platform Independent

- Robust & Secure

12 of 49

Slogan Java

  • Write Once, Run Anywhere

13 of 49

Komponen Java

  • JDK (Java Development Kit) adalah paket lengkap untuk mengembangkan aplikasi (alat kompilasi). 
  • JRE (Java Runtime Environment) adalah lingkungan untuk menjalankan aplikasi Java. 
  • JVM (Java Virtual Machine) adalah mesin inti yang mengeksekusi bytecode Java

14 of 49

Struktur Program Java Minimal

class NamaClass {

public static void main(String[] args) {

// kode

}

}

15 of 49

Penjelasan

  • public: Bisa diakses siapa saja
  • static: Objek hanya dibuat sekali
  • void: Tidak ada return(nilai yang dikembalikan)
  • main: Metoda yang pertamakali dipanggil
  • String[] args: Menampung nilai awal

16 of 49

Contoh args

17 of 49

Class

  • Blueprint, template atau cetakan objek.

18 of 49

Struktur Dasar Program

Aspek

C++

Java

Fungsi utama

int main() {}

public static void main(String[] args) {}

Header / library

#include <iostream>

import java.util.*;

Namespace

using namespace std;

Tidak ada (pakai package)

Output

cout << "Hello” << endl;

System.out.println("Hello");

Input

cin >> x;

Scanner sc = new Scanner(System.in); x = sc.nextInt();

19 of 49

Input dan Output

Operasi

C++

Java

Output

cout << "Hello";

System.out.print("Hello");

Output baris baru

cout << endl;

System.out.println();

Input dasar

cin >> x;

Scanner sc = new Scanner(System.in);

Input integer

cin >> x;

int x = sc.nextInt();

Input string

cin >> s;

String s = sc.next();

Input satu baris

getline(cin, s);

sc.nextLine();

20 of 49

Tipe Data Dasar

Konsep

C++

Java

Integer

int

int

Pecahan

float, double

float, double

Karakter

char

char

Boolean

bool

boolean

String

string

String

Unsigned

unsigned int

❌ Tidak ada

21 of 49

Deklarasi Variabel

Konsep

C++

Java

Deklarasi

int x;

int x;

Inisialisasi

int x = 5;

int x = 5;

Konstanta

const int x = 10;

final int x = 10;

22 of 49

Percabangan

Konsep

C++

Java

if

if (x > 0)

if (x > 0)

else if

else if

else if

switch

switch(x)

switch(x)

Range switch

✅ (Java 14+)

23 of 49

Contoh Range switch

public class Main {

public static void main(String[] args) {

int nilai = 85;

String grade = switch (nilai) {

case int n when n >= 90 -> "A";

case int n when n >= 80 -> "B";

case int n when n >= 70 -> "C";

case int n when n >= 60 -> "D";

default -> "E";

};

System.out.println("Grade: " + grade);

}

}

24 of 49

Perulangan

Konsep

C++

Java

for

for(int i=0;i<n;i++)

Sama

while

while(x)

Sama

do-while

do{}while();

Sama

foreach

for(int x: arr)

Sama

25 of 49

Array

Konsep

C++

Java

Deklarasi

int a[5];

int[] a = new int[5];

Inisialisasi

int a[]={1,2};

int[] a={1,2};

Ukuran

sizeof(a)

a.length

Array dinamis

new int[n]

new int[n]

26 of 49

String

Konsep

C++

Java

Tipe

string

String

Panjang

s.length()

s.length()

Gabung

s1 + s2

s1 + s2

Bandingkan

s1 == s2

s1.equals(s2)

Substring

s.substr()

s.substring()

27 of 49

OOP (Object-Oriented Programming)

Konsep

C++

Java

Class

class A{}

class A{}

Constructor

Sama

Sama

Destructor

~A()

Inheritance

class B: public A

class B extends A

Multiple inheritance

❌ (pakai interface)

Interface

interface

Abstraction

virtual

abstract

Polymorphism

virtual

Method override

28 of 49

Memory Management

Konsep

C++

Java

Alokasi

new, malloc()

new

Dealokasi

delete, free()

Garbage Collector

Pointer

29 of 49

Exception Handling

Konsep

C++

Java

try-catch

try { } catch(...)

try { } catch(Exception e)

throw

throw

throw

finally

finally

Checked exception

30 of 49

Library & Framework

Konsep

C++

Java

Library standar

STL

Java Standard Library

GUI

Qt, wxWidgets

Swing, JavaFX

Web

Spring, Jakarta EE

Cross-platform

Manual

Otomatis (JVM)

31 of 49

Eksekusi Program

Konsep

C++

Java

Compile

g++ file.cpp

javac File.java

Run

./a.out

java File

Output

Native binary

Bytecode (JVM)

32 of 49

Ringkasan Singkat

Aspek

C++

Java

Kecepatan

Lebih cepat

Lebih stabil

Kompleksitas

Tinggi

Lebih mudah

Pointer

Ada

Tidak

Memory

Manual

Otomatis

Cocok untuk

Sistem, Embedded

Aplikasi, Web, Mobile

33 of 49

Contoh Input Output

C++

#include <iostream>

#include <string>

using namespace std;

int main() {

string nama;

cout << "Masukkan nama: ";

getline(cin, nama);

cout << "Halo " << nama << endl;

return 0;

}

Java

import java.util.Scanner;

public class Main {

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);

System.out.print("Masukkan nama: ");

String nama = sc.nextLine();

System.out.println("Halo " + nama);

}

}

34 of 49

Perbedaan Java vs C++

Perbedaan utama:

  • Java pakai Scanner
  • C++ pakai cin / getline
  • Java wajib dalam class

35 of 49

Contoh IF & LOOP

C++

for(int i = 1; i <= 5; i++){

if(i % 2 == 0){

cout << i << " Genap" << endl;

} else {

cout << i << " Ganjil" << endl;

}

}

Java

for(int i = 1; i <= 5; i++){

if(i % 2 == 0){

System.out.println(i + " Genap");

} else {

System.out.println(i + " Ganjil");

}

}

36 of 49

Contoh Array

C++

int angka[] = {1,2,3,4,5};

for(int i = 0; i < 5; i++){

cout << angka[i] << endl;

}

Java

int[] angka = {1,2,3,4,5};

for(int i = 0; i < angka.length; i++){

System.out.println(angka[i]);

}

37 of 49

Contoh Array & LOOP

C++

int angka[] = {1,2,3,4,5};

for(int i = 0; i < 5; i++){

cout << angka[i] << endl;

}

Java

int[] angka = {1,2,3,4,5};

for(int i = 0; i < angka.length; i++){

System.out.println(angka[i]);

}

38 of 49

Ringkasan Perbedaan Kunci

Aspek

Java

C++

Entry point

public static void main

int main()

I/O

System.out

cout

Input

Scanner

cin

OOP

Wajib dalam class

Bisa prosedural

Memory

Garbage Collector

Manual (new/delete)

Pointer

Tidak ada

Ada

39 of 49

Manajemen Memori

  • C++: manual (new, delete)
  • Java: otomatis (Garbage Collector)

40 of 49

OOP

  • C++: multiple inheritance
  • Java: interface, single inheritance

41 of 49

Exception Handling

  • Java memiliki checked exception
  • C++ tidak

42 of 49

Kompilasi

  • C++: langsung ke mesin
  • Java: JVM

43 of 49

Kesimpulan

  • Java lebih aman dan portable
  • C++ lebih cepat dan fleksibel

44 of 49

Latihan Mandiri

  • Buat program Java yang meminta dan menampilkan nama pengguna.

45 of 49

Ketentuan

- Program dapat dijalankan

- Output sesuai

46 of 49

Pengumpulan

  • Upload source code dan hasil eksekusi ke Blogspot.
  • Buat daftar isi pada Blog Anda agar tahu materi terbaru tentang Java
  • Tambahkan Cara kerja dari JDK, JRE dan JVM dalam Blogspot anda.

47 of 49

Ringkasan

  • Java adalah bahasa OOP dan platform independent.
  • Jika anda memahami C++ maka mudah memahami Java

48 of 49

Refleksi

  • Apa yang Anda pelajari hari ini?

49 of 49