Anda di halaman 1dari 18

LAPORAN PRAKTIKUM KE-1

PROYEK PEMROGRAMAN BERORIENTASI

OBJEK

DISUSUN OLEH :

NAMA : RHEDO FRANCESCO

NPM : G1A019064

KELAS :A

ASISTEN DOSEN :

1. M. IKHWAN ALIF M G1A017022


2. VIRA RAHMA G1A018050
3. TIYA SUCI HAMIMMAH G1A018051
4. DWI LESTARI G1A018087

DOSEN PENGAMPU :

ARIE VATRESIA, S.T., M.TI, Ph.D.

PROGRAM STUDI INFORMATIKA

FAKULTAS TEKNIK

UNIVERSITAS BENGKULU

2021
LANDASAN TEORI
 PEMROGRAMAN BERORIENTASI OBJEK

Pemrograman berorientasi objek (Object Oriented Programming atau disingkat


OOP) adalah paradigma pemrograman yang berorientasikan kepada objek yang
merupakan suatu metode dalam pembuatan program, dengan tujuan untuk
menyelesaikan kompleksnya berbagai masalah program yang terus meningkat. Objek
adalah entitas yang memiliki atribut, karakter (bahavour) dan kadang kala disertai
kondisi (state) (Douglas, 1992).

Pemrograman berorientasi objek ditemukan pada Tahun 1960, dimana berawal


dari suatu pembuatan program yang terstruktur (structured programming). Metode ini
dikembangkan dari bahsa C dan Pascal. Dengan program yang terstruktur inilah untuk
pertama kalinya kita mampu menulis program yang begitu sulit dengan lebih mudah.

Ide dasar pada OOP adalah mengkombinasikan data dan fungsi untuk
mengakses data menjadi sebuah kesatuan unit yang dikenal dengan nama objek. Objek
adalah struktur data yang terdiri dari bidang data dan metode bersama dengan interaksi
mereka untuk merancang aplikasi dan program komputer. Semua data dan fungsi di
dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek. Setiap objek dapat
menerima pesan, memproses data, dan mengirim pesan ke objek lainnya.

Pemrograman berorientasi objek dalam melakukan pemecahan suatu masalah


tidak melihat bagaimana cara menyelesaikan suatu masalah tersebut (terstruktur) tetapi
objek-objek apa yang dapat melakukan pemecahan masalah tersebut.Ada beberapa
elemen dalam OOP yaitu :

 Encapsulation

Encapulation berarti menggabungkan struktur data dengan fungsi (tindakan atau


metode) yang dipakai untuk memanipulasi data. Gabungan data dan fungsi untuk
memanipulasi data itu disebt juga Class (kelas).

 Inherientence

Konsep Inherientence mungkin berasal dari ilmu Biologi. Inherientence adalah


mekanisme penciptaan kelas baru yang mewarisi sifat atau karateristik kelas lain yang
lebih sederhana. Jika kelas B mewarisi karakteristik kelas A, kita mengatakan bahwa B
adalah kelas turunan (derived class) dan A adalah kelas dasar (base class). Jadi dengan
inherientence anda dapat melakukan taksonomi. Taksonomi dilakukan untuk
membangun hirarki kelas berdasarkan sifat yang diturunkan.

 Polymorphism

Polymorphism menunjuk pada fakta bahwa satu kegiatan bisa memiliki perilaku
yang berbeda di object yangberbeda. Polymorphism membantu dalam
menyederhanakan syntaksis (kata-kata) untuk menjalankan kegiatan yang sama pada
sekumpulan object atau hirarki kelas.

215
RHEDO FRANCESCO G1A019064
Keunggulan dalam memakai metode OOP di antaranya adalah :

• Improved Software Development Productivity : Sistem program dapat


dimodifikasi tanpa melibatkan banyak modul dimana hanya objek saja yang
terlibat. Selain itu sistem program dapat dikembangkan sampai skala paling
kompleks.

• Improved Software Maintainbility: Bagian dari software dapat dengan mudah di


maintenance jika ada perubahan meskipun dalam skala yang cukup besar.

• Faster Development: Metode ini didukung oleh banyak library objek, sehingga
mempercepat penyelesaian program dan juga projek berikutnya.

• Lower Cost of Development : Faster development tentu akan mengurangi biaya


pengembangan pembuatan program

• Higher Quality Software: Faster developmentpun akan memberikan lebih banyak


waktu dan sumberdaya untuk proses verifikasi software.

 ALICE

Alice merupakan program yang dirancang untuk mempelajari konsep dasar


program komputer sekaligus membuat story telling dan simple 3D game interactive
(Gaffari, 2009). Alice digunakan untuk membangun sebuah prototype environtment
yaitu dapat membuat dunia maya sederhana, karena dalam alice obyeknya dapat
bergerak baik memutar sesuai sumbu rotasi, memberi warna terhadap objek, memberi
suara, maupun beraksi dengan mouse dan keyboard. Dengan menulis script sederhana
pemrogram dapat mengendalikan rupa dan perilaku objek (Gaffari, 2009).

Hal ini memungkinkan siswa untuk belajar konsep pemrograman mendasar


dalam rangka menciptakan film animasi dan permainan video sederhana. Di Alice, 3D
objek (misalnya, manusia, hewan, dan kendaraan) merupakan populasi di dunia maya
dan siswa membuat program untuk menghidupkan objek tersebut. Dalam antarmuka
interaktif Alice,hanya melakukan drag dan drop grafis untuk membuat sebuah program,
dimana kode program sesuai dengan standar dalam bahasa pemrograman berorientasi
obyek, seperti Java, C++, dan C#.

Alice memungkinkan siswa untuk segera melihat bagaimana program animasi


mereka berjalan, memungkinkan mereka untuk dengan mudah memahami hubungan
antara kode program dan perilaku objek dalam animasi mereka. Dengan memanipulasi
benda-benda di dunia maya, siswa memperoleh pengalaman dengan semua konstruksi
pemrograman yang biasanya diajarkan dalam pelajaran pengantar bahasa pemrograman
terutama pada pemrograman yang berorientasi objek.

SOAL DAN PEMBAHASAN

315
RHEDO FRANCESCO G1A019064
1. Review praktikum hari ini!

Jawab :

Pada praktikum mata kuliah Proyek Pemrograman Berorientasi Objek hari ini,
kita memerlukan laptop/PC, dan software Alice 3 yang sudah diinstal di perangkat.
Kemudian tinggal buka aplikasi Alice 3.

Print screen

Gambar 1.1 memilih latar scene

Gambar 1.1 merupakan tampilan awal dari software Alice 3. Di sini terdapat
beberapa menu seperti Blank States, Starters, My Projects, Recent, dan File System.
Pada Blank States terdapat beberapa background seperti Grass, Room, dan banyak
lainnya. Kali ini kita akan memilih background Grass, sehingga ketika klik Ok, maka
akan muncul tampilan seperti di bawah.

Print screen

Gambar 1.2 macam-macam objek

Pada gambar 1.2 kita akan memilih objek apa saja yang ingin kita masukkan ke
dalam scene, kita juga dapat mengatur letak kamera/view angle. Kita akan memilih di

415
RHEDO FRANCESCO G1A019064
Biped Class karena pengerjaan animasinya lebih mudah dimengerti karena berbentuk
menyerupai struktur manusia.

Print screen

Gambar 1.3 Mengatur karakter

Gambar 1.3 merupakan tampilan untuk mengatur karakter sesuai dengan apa
yang kita inginkan. Pada life stage, kita akan memilih tingkatan umur, pada gender kita
akan memilih jenis kelamin dari karakter, skin color untuk mengatur warna kulit
karakter. Dan kita dapat mengatur baju, rambut dan lainnya di menu bawah. Atau
generate random person untuk mengacak tampilan karakter.

Print screen

Gambar 1.4 Angle kamera

Setelah memilih objek yang sesuai, selanjutnya adalah mengatur tata letak objek
terhadap kamera seperti yang dapat dilihat pada gambar 1.4. Pada praktikum kali ini,

515
RHEDO FRANCESCO G1A019064
kita mengatur agar objek manusia menghadap kesamping kanan terhadap kamera. Dan
juga mengatur jarak view camera terhadap karakter agar sesuai dengan apa yang kita
harapkan nantinya.

Print screen

Gambar 1.5 menuliskan kode

Pada menu edit code, kita dapat menginputkan perintah yang dapat mengkontrol
gerakan objek yang diinginkan. Pada method MyFirstMethod dapat dimasukan
prosedur, Do in order berarti pernyataan Kontrol default di editor kode atau eksekusi
prosedur secara berurutan sedangkan do together merupakan eksekusi prosedur secara
bersamaan. Dalam penerapanya dapat digunakan untuk gerakan bersamaan seperti
pergerakan berjalan dan duduk. Di dalam prosedur tadi dapat dimasukkan. Selanjutnya
seperti pada gambar 1.5, dalam method do in order dimasukkan prosedur
this.PriaDewasa getRightHip turn BACKWARD 0.09 duration 0.4 adalah prosedur
yang diberlakukan kepada objek PriaDewasa Untuk mengerakkkan pinggul sebelah
kanan kearah belakang dengan nilai 0.09 dan durasi selama 0.4 detik.
this.PriaDewasa getRightKnee turn FORWARD 0.09 duration 0.4 adalah
prosedur yang diberlakukan kepada objek PriaDewasa Untuk mengerakkkan lutut
sebelah kanan kearah depan dengan nilai 0.09 dan durasi selama 0.4 detik.
this.PriaDewasa getLeftShoulder turn RIGHT 0.09 duration 0.4 adalah prosedur yang

615
RHEDO FRANCESCO G1A019064
diberlakukan kepada objek PriaDewasa Untuk mengerakkkan bahu sebelah kiri kearah
kanan dengan nilai 0.09 dan durasi selama 0.4 detik.
this.PriaDewasa getRightHip turn FORWARD 0.09 duration 0.4 adalah prosedur
yang diberlakukan kepada objek PriaDewasa Untuk mengerakkkan pinggul sebelah
kanan kearah depan dengan nilai 0.09 dan durasi selama 0.4 detik. this.PriaDewasa
getRightKnee turn BACKWARD 0.09 duration 0.4 adalah prosedur yang diberlakukan
kepada objek PriaDewasa Untuk mengerakkkan lutut sebelah kanan kearah belakang
dengan nilai 0.09 dan durasi selama 0.4 detik. .
this.PriaDewasa move FORWARD 0.2 duration 0.1 adalah prosedur yang
diberlakukan kepada objek PriaDewasa Untuk mengerakkkan objek tersebut depan
dengan nilai 0.2 dan durasi selama 0.1 detik. Untuk membuat objek pria dewasa
berjalan seperti kebanyakan manusia maka kita perlu memmbuat prosedur untuk
menggerakan anggota badan yang ada di sebelah kiri, tetapi dengan prosedur yang sama
dengan Prosedur untuk anggota tubuh bagian kanan tadi. this.PriaDewasa
getLeftShoulder turn LEFT 0.09 duration 0.4 adalah prosedur yang diberlakukan
kepada objek PriaDewasa Untuk mengerakkkan bahu sebelah kiri kearah kiri dengan
nilai 0.09 dan durasi selama 0.4 detik. this.PriaDewasa getRightShoulder turn LEFT
0.09 duration 0.4 adalah prosedur yang diberlakukan kepada objek PriaDewasa Untuk
mengerakkkan bahu sebelah kanan kearah kiri dengan nilai 0.09 dan durasi selama 0.4
detik.
this.PriaDewasa getLeftHip turn BACKWARD 0.09 duration 0.4 adalah
prosedur yang diberlakukan kepada objek PriaDewasa Untuk mengerakkkan pinggul
sebelah kiri kearah belakang dengan nilai 0.09 dan durasi selama 0.4 detik.
this.PriaDewasa getLeftKnee turn FORWARD 0.09 duration 0.4 adalah prosedur yang
diberlakukan kepada objek PriaDewasa Untuk mengerakkkan lutut sebelah kiri kearah
depan dengan nilai 0.09 dan durasi selama 0.4 detik.
this.PriaDewasa getLeftShoulder turn RIGHT 0.09 duration 0.4 adalah prosedur
yang diberlakukan kepada objek PriaDewasa Untuk mengerakkkan bahu sebelah kiri
kearah kanan dengan nilai 0.09 dan durasi selama 0.4 detik. this.PriaDewasa
getRightShoulder turn RIGHT 0.09 duration 0.4 adalah prosedur yang diberlakukan
kepada objek PriaDewasa Untuk mengerakkkan bahu sebelah kanan kearah kanan
dengan nilai 0.09 dan durasi selama 0.4 detik. this.PriaDewasa getLeftHip turn
FORWARD 0.09 duration 0.4 adalah prosedur yang diberlakukan kepada objek

715
RHEDO FRANCESCO G1A019064
PriaDewasa Untuk mengerakkkan pinggul sebelah kiri kearah depan dengan nilai 0.09
dan durasi selama 0.4 detik.
Output

Gambar 1.6 Output animasi


Setelah kita membuat fungsi sebelumnya, selanjutnya kita klik tombol Run
sehingga kita dapat melihat hasil dari kode sebelumnya yaitu animasi dari orang
berjalan seperti pada gambar 1.6. Untuk mengulangi animasinya, kita dapat klik tombol
restart atau keluar dengan klik tombol X (close).
2. Buatlah scene 30 detik
Jawab :
Sebelum mulai membuat proyek, pertama-tama kita buka dulu software Alice di
perangkat masing-masing, setelah itu akan muncul tampilan seperti gambar 2.1.
Print screen

Gambar 2.1 memilih latar belakang scene

815
RHEDO FRANCESCO G1A019064
Pertama-tama pada gambar 2.1 kita akan memilih background untuk digunakan
dalam animasi. Di sini saya memilih background di ruangan.
Print screen

G1A019064

Gambar 2.2 memilih dan mengatur objek


Di gambar 2.2 sini saya memilih Biped class karena saya ingin objeknya berupa
manusia, dan saya juga memberikan beberapa Furniture sehingga ruangan tidak terlihat
terlalu kosong. Setelah mengatur objek, selanjutnya saya mengatur kamera sehingga
lebih dominan ke sebelah kanan.
Print screen

915
RHEDO FRANCESCO G1A019064
Gambar 2.3 membuat percakapan
Pada gambar 2.3 Saya membuat kode this.elderPerson say “Hai semuanya, saya
Robert dan ini adalah robot yang saya ciptakan, namanya Cecilia”, duration 3.0 lalu
this.elderPerson getRightShoulder turn BACKWARD, 0.25, duration 0.25 dan
this.elderPerson getRightElbow turn BACKWARD, 0.25, duration 0.25 ke dalam do
together karena ingin kode tersebut dikerjakan secara bersamaan, jadi karakternya akan
mengucapkan kalimat tersebut sambil mengangkat tangannya sebelah kanan. Lalu
menurunkan tangannya dengan kode this.elderPerson getRightShoulder turn
FORWARD, 0.25, duration 0.25 dan this.elderPerson getRightElbow turn FORWARD,
0.25, duration 0.25. Selanjutnya percakapan antara karakter this.adultPerson dan
this.elderPerson dengan menggunakan kode this.adultPerson say “Halo, saya Cecilia,
senang bertemu dengan kalian”, duration 3.0. Lalu this.elderPerson menjawab
this.elderPerson say “Cecilia, saya akan melanjutkan penilaianku”, duration 2.5 lalu
dijawab dengan kode this.adultPerson say “baik pak”, duration 2.0 Setelah itu, kedua
karakter tersebut berputar ke kiri dan kanan dengan kode this.elderPerson turn LEFT,
0.25 dan juga this.adultPerson turn LEFT, 0.25.

1015
RHEDO FRANCESCO G1A019064
Selanjutnya this.elderPerson getRightHip turn BACKWARD, 0.1 untuk
menggerakkan pinggul kanan this.elderPerson ke arah belakang sejauh 0.1 dan
this.elderPerson getLeftShoulder turn RIGHT, 0.125, duration 1.0 untuk menggerakkan
bahu kiri this.elderPerson ke arah kanan sejauh 0.125 dengan durasi 1.0 detik.
this.elderPerson getRightHip turn FORWARD, 0.1, duration 0.5 untuk menggerakkan
pinggul kanan this.elderPerson ke arah depan sejauh 0.1 dengan durasi 0.5 dan
this.elderPerson getLeftShoulder turn LEFT, 0.125, duration 1.0 untuk menggerakkan
bahu kiri this.elderPerson ke arah kiri sejauh 0.125 dengan durasi 1.0 detik. Dan kode
this.elderPerson move FORWARD, 0.25, duration 0.15 untuk memajukan posisi
this.elderPerson sejauh 0.25 dengan durasi 0.15 detik.
Print screen

1115
RHEDO FRANCESCO G1A019064
1215
RHEDO FRANCESCO G1A019064
Gambar 2.4 Membuat animasi berjalan

1315
RHEDO FRANCESCO G1A019064
Kode this.elderPerson getRightHip turn BACKWARD, 0.1 untuk menggerakkan
pinggul kanan this.elderPerson ke arah belakang sejauh 0.1 dan this.elderPerson
getLeftShoulder turn RIGHT, 0.125, duration 1.0 untuk menggerakkan bahu kiri
this.elderPerson ke arah kanan sejauh 0.125 dengan durasi 1.0 detik. this.elderPerson
getRightHip turn FORWARD, 0.1, duration 0.5 untuk menggerakkan pinggul kanan
this.elderPerson ke arah depan sejauh 0.1 dengan durasi 0.5 dan this.elderPerson
getLeftShoulder turn LEFT, 0.125, duration 1.0 untuk menggerakkan bahu kiri
this.elderPerson ke arah kiri sejauh 0.125 dengan durasi 1.0 detik. Dan kode
this.elderPerson move FORWARD, 0.25, duration 0.15 untuk memajukan posisi
this.elderPerson sejauh 0.25 dengan durasi 0.15 detik.
Selanjutnya this.elderPerson getLeftHip turn BACKWARD, 0.1 untuk
menggerakkan pinggul kiri this.elderPerson ke arah belakang sejauh 0.1 dan
this.elderPerson getRightShoulder turn LEFT, 0.125, duration 1.0 untuk menggerakkan
bahu kanan this.elderPerson ke arah kiri sejauh 0.125 dengan durasi 1.0 detik.
this.elderPerson getLeftHip turn FORWARD, 0.1, duration 0.5 untuk menggerakkan
pinggul kanan this.elderPerson ke arah depan sejauh 0.1 dengan durasi 0.5 dan
this.elderPerson getRightShoulder turn RIGHT, 0.125, duration 1.0 untuk
menggerakkan bahu kanan this.elderPerson ke arah kanan sejauh 0.125 dengan durasi
1.0 detik. Dan kode this.elderPerson move FORWARD, 0.25, duration 0.15 untuk
memajukan posisi this.elderPerson sejauh 0.25 dengan durasi 0.15 detik. Untuk
selanjutnya kita tinggal mengulangi kode pada gambar 2.4 sebanyak apa yang kita
inginkan
Print screen

Gambar 2.5 berputar ke kiri


Pada gambar 2.5 terdapat kode this.elderPerson turn LEFT, 0.25, duration 0.25
yang berfungsi untuk mengubah arah this.elderPerson menghadap ke arah kiri sehingga
sekarang posisinya membelakangi kamera.
Print screen

1415
RHEDO FRANCESCO G1A019064
Gambar 2.6 Berjalan
Pada gambar 2.6, kita menggunakan kode Kode this.elderPerson getRightHip
turn BACKWARD, 0.1 untuk menggerakkan pinggul kanan this.elderPerson ke arah
belakang sejauh 0.1 dan this.elderPerson getLeftShoulder turn RIGHT, 0.125, duration
1.0 untuk menggerakkan bahu kiri this.elderPerson ke arah kanan sejauh 0.125 dengan
durasi 1.0 detik. this.elderPerson getRightHip turn FORWARD, 0.1, duration 0.5 untuk
menggerakkan pinggul kanan this.elderPerson ke arah depan sejauh 0.1 dengan durasi
0.5 dan this.elderPerson getLeftShoulder turn LEFT, 0.125, duration 1.0 untuk
menggerakkan bahu kiri this.elderPerson ke arah kiri sejauh 0.125 dengan durasi 1.0
detik. Dan kode this.elderPerson move FORWARD, 0.25, duration 0.15 untuk
memajukan posisi this.elderPerson sejauh 0.25 dengan durasi 0.15 detik.
Selanjutnya this.elderPerson getLeftHip turn BACKWARD, 0.1 untuk
menggerakkan pinggul kiri this.elderPerson ke arah belakang sejauh 0.1 dan
this.elderPerson getRightShoulder turn LEFT, 0.125, duration 1.0 untuk menggerakkan
bahu kanan this.elderPerson ke arah kiri sejauh 0.125 dengan durasi 1.0 detik.
this.elderPerson getLeftHip turn FORWARD, 0.1, duration 0.5 untuk menggerakkan
pinggul kanan this.elderPerson ke arah depan sejauh 0.1 dengan durasi 0.5 dan
this.elderPerson getRightShoulder turn RIGHT, 0.125, duration 1.0 untuk
menggerakkan bahu kanan this.elderPerson ke arah kanan sejauh 0.125 dengan durasi

1515
RHEDO FRANCESCO G1A019064
1.0 detik. Dan kode this.elderPerson move FORWARD, 0.25, duration 0.15 untuk
memajukan posisi this.elderPerson sejauh 0.25 dengan durasi 0.15 detik. Kode ini
diulangi sampai kita menuju ke kursi.
Print screen

Gambar 2.7 Membuat karakter duduk ke kursi


Dengan kode this.elderPerson moveAndOrientTo this.chair duration 0.1 kita
membuat karakter kita berorientasi terhadap this.chair lalu di statement do together kita
membuat gerakan karakter untuk duduk dengan kode this.elderPerson getLeftHip turn
BACKWARD, 0.25, duration 0.1, this.elderPerson getRightHip turn BACKWARD,
0.25, duration 0.1, this.elderPerson getLeftKnee turn FORWARD, 0.25, duration 0.1,
dan terakhir this.elderPerson getRightKnee turn FORWARD, 0.25, duration 0.1. Kode
this.elderPerson move DOWN, 0.25, duration 0.1 untuk membuat karakter tersebut
turun sehingga pas untuk duduk di atas kursi. Selanjutnya this.elderPerson
getRightShoulder turn LEFT, 0.25, duration 0.25 dan this.elderPerson getLeftShoulder
turn RIGHT, 0.25, duration 0.25 untuk mengangkat bahu ke atas keyboard lalu
this.elderPerson getRightWrist roll LEFT, 0.25 dan juga this.elderPerson getLeftWrist
roll RIGHT, 0.25 untuk membuat pergelangan tangan berputar dan terakhir
this.elderPerson getLeftShoulder turn LEFT, 0.05, duration 0.25 dan this.elderPerson
getRightShoulder turn RIGHT, 0.05, duration 0.25 untuk menurunkan sedikit bahu dari
karakter sehingga tepat di atas keyboard.

1615
RHEDO FRANCESCO G1A019064
KESIMPULAN DAN SARAN
a. Kesimpulan
Kesimpulan yang dapat saya ambil pada praktikum kali ini adalah Pemrograman
berorientasi objek (Object Oriented Programming atau disingkat OOP) adalah
paradigma pemrograman yang berorientasikan kepada objek yang merupakan suatu
metode dalam pembuatan program, dengan tujuan untuk menyelesaikan kompleksnya
berbagai masalah program yang terus meningkat.
b. Saran
Saran dari saya dalam penggunaan Alice adalah kita harus teliti dan mengetahui
setiap bagian, gerakan, dan juga arahnya. Karena jika terdapat kesalahan, maka animasi
akan menjadi tidak masuk akal dan aneh.

1715
RHEDO FRANCESCO G1A019064
DAFTAR PUSTAKA
Danuri, M. (2013). Object Oriented Programming (Oop) Pembangun Program Aplikasi
Berbasis Windows. INFOKAM.
Hamdani, F. (2019). Rancang Bangun Video Tutorial Pembelajaran Alice 3.1 dan
Greenfoot pada Matakuliah Java Fundamental di STKOM Al Ma’soem
Jatinangor. INTERNAL (Information System Journal).
Kelleher, C., Pausch, R., & Kiesler, S. (2007, April). Storytelling alice motivates middle
school girls to learn computer programming. In Proceedings of the SIGCHI
conference on Human factors in computing systems.

1815
RHEDO FRANCESCO G1A019064

Anda mungkin juga menyukai