0% menganggap dokumen ini bermanfaat (0 suara)
0 tayangan29 halaman

Laporan Pratikum Java Script

Dokumen ini adalah laporan praktikum JavaScript yang mencakup berbagai konsep seperti variabel, tipe data, objek, dan operator perbandingan. Setiap program disertai dengan kode sumber dan penjelasan mengenai output serta kondisi yang relevan. Penjelasan mencakup penggunaan var, let, const, serta cara mendeklarasikan dan mengakses variabel dalam berbagai konteks.

Diunggah oleh

ryanpratamafkuh
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
0 tayangan29 halaman

Laporan Pratikum Java Script

Dokumen ini adalah laporan praktikum JavaScript yang mencakup berbagai konsep seperti variabel, tipe data, objek, dan operator perbandingan. Setiap program disertai dengan kode sumber dan penjelasan mengenai output serta kondisi yang relevan. Penjelasan mencakup penggunaan var, let, const, serta cara mendeklarasikan dan mengakses variabel dalam berbagai konteks.

Diunggah oleh

ryanpratamafkuh
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 29

LAPORAN PRATIKUM JAVA SCRIPT

NAMA : REHAN ANUGRAH

NIM : 105841103123

KELAS : 2-A INFORMATIKA

1. VAR, LET, CONST DAN ATURAN PENAMAAN VARIABEL

1. PROGRAM I

var umur = 19;

console.log("Nilai awal umur:", umur);

umur = 10000;

console.log("Nilai umur setelah abadi (var):", umur);

// Menggunakan let

let nama = "agunz";

console.log("nama anda adalah adalah :", nama);

nama = "komang agung";

console.log("nama anda sekarang adalah:", nama);

// Menggunakan const

const sigma = "yeah";

console.log("anda sigma):", sigma);

OUTPUT
a. KONDISI PROGRAM I

 Kondisi 1

 Var umur = 19; kita membuat variabel bernama umur menggunakan kata lunci var dan memberi
nilai awal 19 dan outputnya meneunjukkan nilai awal dari variabel umur

 Umur = 19; kita mengubah nilai umur menjadi 19, karena var memiliki cakupan yang luas, dan
dapat mengubah nilainya kapan saja. Dan outpunya menunjukkan nilai umur setelah
perubahan.

 Kondisi 2

 Let nama= ‘agunz’; kita membuat variabel bernama nama menggunakan kata kunci let dan
memberi nilai awal agung,. Dan outputnya menunjukkan nilai awal dari variabel nama

 Nama = “komang agung; mengubah nil;ai huruf menjadi komang agung. Sama seperi var, let juga
memungkinkan perubahan nilai setelah dideklarasikan. Outputnya menunjukkan nilau huruf
setelah perubahan.
 Kondisi 3

 Const sigma = “yeah”; membuat varibel bernama sigma menggunakan kata kunci const dan
memberi nilai awal “yeah”. Outputnya menunjukkan nilai awal dari variabel

 Const memiliki cakupan blok. Tidak dapat dideklarasikan ulkang dan nilainya tidak dapt diubah
setelah di inisialisasi.

2. PROGRAM 2

a. SOURCE CODE

91umur= 123;

Nick MOLE= "RAJA SIGMA";

var = 21;

nick &= "RAJA GULA";

b. OUTPUT

a. KONDISI 1

Nama varibel tidak boleh diawali dengan angka karena dapat membingungkan interpreter JS dalam
membedakan antara variabel dan literal angka.

b. KONDISI 2

Spasi tidak diperbolehkan dalam nama variabel karena dapat menyebabkan masalah dalam parsing
kode
c. KONDISI 3

Kunci JS seperti var, let, const, if, else, dan lainnya adalah kata kata yang sudah memiliki arti khusus
dalam bahasa JS dan tidak boleh digunakan sebagai nama variabel

d. KONDISI 4

Hanya (_) yang di perbolehkan sebagai karakter spesial dalam nama variabel, karakter spesial seperti
%#&$ tidak akan valid.

3. PROGRAM 3

a. SOURCE CODE

if (true) {

let nama = "Budiono siregar";

const citacita= kapal laut;

console.log("Perkenalan:", nama,citacita);

console.log("Di luar blok:", nama, citacita);

b. OUTPUT
c. KONDISI 1

Variabel nama dan cita cita dideklarasikan menggunakan let dan const di dalam blok if. Jadi, variabel ini
hanya dapat diakses dalam blok tersebut, perintah console.log pertama kan mencetak nilai kedua
variabel tersebut.

d. KONDISI 2

Ketika mencoba mengakses nama dan umur di luar blok if, JS akan menghasilkan eror karena variabel
tersebut tidak terdefinisi di luar cakupannya

2. VAR DEKLARASI / PENAMAAN VARIABEL

1. PROGRAM 1

a. SOURCE CODE

function fungsi() {

var bark= 23;

console.log( bark);

var angka = 20;

console.log(angka);

funsi();

b. OUTPUT

kita mendendeklarasikan varibel angka dengan nilai 10. Kemudian, kita mendeklarasikan ulang variabel
angka dengan nilai 20. Deklarasi kedua ini akan menimpa nilai sebelumnya, sehingga nilai angka yang
terakhir adalah 20. Ketika kita mencetak nilai angka kedua kalinya, yang muncul adalah nilai terakhir,
yaitu 20. var memiliki cakupan fungsional. Artinya, variabel yang dideklarasikan dengan var dalam
sebuah fungsi hanya berlaku di dalam fungsi tersebut.

2. PROGRAM 2
a. SOURCE CODE

function myFunction() {

var nama = "agung";

console.log("Di dalam fungsi:", nama);

myFunction();

console.log("Di luar fungsi:", nama);

b. OUTPUT

Variabel nama dideklarasikan dengan var di dalam fungsi myFunction. Jadi, variabel ini hanya dapat
diakses di dalam fungsi tersebut. Perintah console.log pertama akan mencetak nilai "agung". Ketika kita
mencoba mengakses nama di luar fungsi myFunction, JavaScript akan menghasilkan error karena
variabel nama tidak terdefinisi di luar cakupannya.

3. TIPE DATA

1. PROGRAM 1

a. SOURCE CODE

let str = "Hello, world!";


console.log( str, "| Tipe data str:", typeof str);

// Number

let num = 90;

console.log( num, "| Tipe data num:", typeof num);

// BigInt

let bigInt =437235637235235982356238552n;

console.log( bigInt, "| Tipe data bigInt:", typeof bigInt);

// Boolean

let bool = true;

console.log( bool, "| Tipe data bool:", typeof bool);

// Null

let nothing = null;

console.log( nothing, "| Tipe data nothing:", typeof nothing);

b. OUTPUT

String:

let str = "Hello, world!"; mendeklarasikan variabel str dengan nilai teks "Hello, world!".

typeof str mengembalikan "string" karena str adalah sebuah string.

Number:

let num = 90; mendeklarasikan variabel num dengan nilai angka 90.

typeof num mengembalikan "number" karena num adalah sebuah angka.


BigInt:

let bigInt =437235637235235982356238552n; mendeklarasikan variabel bigInt dengan nilai bilangan


bulat yang sangat besar menggunakan tipe data bigint.

typeof bigInt mengembalikan "bigint" karena bigInt adalah sebuah bilangan bulat besar.

Boolean:

let bool = true; mendeklarasikan variabel bool dengan nilai boolean true.

typeof bool mengembalikan "boolean" karena bool adalah sebuah nilai boolean.

Null:

let nothing = null; mendeklarasikan variabel nothing dengan nilai null.

typeof nothing mengembalikan "object" secara tidak tepat. Ini adalah salah satu keanehan dalam
JavaScript. Null sebenarnya mewakili ketidakhadiran nilai, tetapi karena alasan historis, ia memiliki tipe
data object.

2. PROGRAM 2

a. SOURCE CODE

// String yang tidak valid untuk konversi

let str = "Hello, world!";

let num = Number(str); // Menggunakan Number() untuk konversi

console.log(num, "| Tipe data num:", typeof num); // Output: NaN | Tipe data num: number

b. OUTPUT

Variabel str diinisialisasi dengan nilai string "Hello, world!".


Konversi Menggunakan Number():

Fungsi Number() mencoba mengonversi string str menjadi angka (number).

Number() dapat mengonversi string yang berisi angka valid seperti "123" menjadi 123, tetapi jika string
tidak berisi angka yang dapat dikenali, seperti "Hello, world!", hasil konversi adalah NaN.

Hasil Konversi

NaN (Not-a-Number): NaN adalah nilai khusus yang menunjukkan bahwa hasil konversi atau operasi
numerik tidak valid atau tidak terdefinisi. Ini adalah hasil dari Number() ketika string yang diberikan tidak
dapat dikonversi menjadi angka.

Tipe Data: Meskipun NaN menunjukkan nilai numerik yang tidak valid, tipe datanya adalah number. Ini
karena NaN termasuk dalam jenis number di JavaScript.

NaN: Menunjukkan bahwa konversi gagal dan hasilnya adalah NaN.

typeof num: Menghasilkan "number" karena NaN termasuk dalam tipe data number.

3. PROGRAM 3

a. SOURCE CODE

// Boolean

let bool = true;

console.log(bool, "| Tipe data bool:", typeof bool);


// Konversi boolean ke string

let boolToString = String(bool);

console.log(boolToString, "| Tipe data boolToString:", typeof boolToString);

// Konversi boolean ke number

let boolToNumber = Number(bool);

console.log(boolToNumber, "| Tipe data boolToNumber:", typeof boolToNumber);

b. OUTPUT

Deklarasi: Variabel bool dideklarasikan dengan nilai true.

Pemeriksaan Tipe: typeof bool mengembalikan "boolean" karena bool adalah sebuah nilai boolean.

Konversi: String(bool) mengubah nilai boolean true menjadi string "true".

Pemeriksaan Tipe: typeof boolToString mengembalikan "string" karena boolToString sekarang adalah
sebuah string.

Konversi: Number(bool) mengubah nilai boolean true menjadi angka 1. Nilai false akan dikonversi
menjadi 0.

Pemeriksaan Tipe: typeof boolToNumber mengembalikan "number" karena boolToNumber sekarang


adalah sebuah angka.
4. OBJECT, OKJECT PROTOTYPE, PROTOTYPE INHERITANCE

1. PROGRAM 1

a. SOURCE CODE

const orang = {

nama: "Agund",

umur: 87,

alamat: {

jalan: "jalanin",

kota: "aja duli"

},

hobi: ["menulis", "ngoding", "ngoding tangan"]

};

console.log("Nama:", orang.nama);

console.log("Umur:", orang.umur);

console.log("Kota:", orang.alamat.kota);

console.log("Hobi:", orang.hobi[2]);

b. OUTPUT
Objek orang memiliki properti alamat yang juga merupakan sebuah objek. Kita bisa mengakses properti
dalam objek bersarang dengan menggunakan notasi titik berulang. Array sebagai properti hobi adalah
sebuah array yang berisi nilai-nilai string. Kita bisa mengakses elemen dalam array menggunakan indeks.

2. PROGRAM 2

a. SOURCE CODE

const orang = {

nama: "Lutfi wan pis",

umur: 90,

alamat: {

jalan: "bartolomeo",

kota: "Marinfort"

},

hobi: ["menulis", "ngoding", "ngoding tangan"]

};

// Menambahkan properti baru

orang.pekerjaan = "Yonkou";

orang.tanggalLahir = "27-09-1999";
// Mengakses semua properti

console.log("Nama:", orang.nama);

console.log("Umur:", orang.umur);

console.log("Kota:", orang.alamat.kota);

console.log("Hobi:", orang.hobi[2]);

console.log("Pekerjaan:", orang.pekerjaan);

console.log("Tanggal Lahir:", orang.tanggalLahir);

b. OUTPUT

Kita menambahkan dua properti baru, yaitu pekerjaan dengan nilai "Mahasiswa" dan tanggalLahir
dengan nilai "27-08-2005". Kita mencetak semua properti objek orang termasuk properti baru yang telah
ditambahkan.

3. PROGRAM 3

a. SOURCE CODE

const orang = {

nama: "akaiunu",

umur: 72,

salam: function() {

console.log("Halo, nama saya " + this.nama);

}
};

const mahasiswa = Object.create(orang);

mahasiswa.jurusan = "Informatika";

console.log(mahasiswa.nama);

console.log(mahasiswa.jurusan);

mahasiswa.salam();

b. OUTPUT

Kita membuat objek orang yang akan menjadi objek induk atau prototype. Objek ini memiliki properti
nama, umur, dan metode salam. Kita menggunakan Object.create(orang) untuk membuat objek baru
mahasiswa. Objek mahasiswa secara otomatis mewarisi semua properti dan metode dari orang. Kita
menambahkan properti jurusan yang spesifik untuk objek mahasiswa. Kita dapat mengakses properti
dan metode yang diwarisi dari objek induk maupun properti yang unik pada objek baru.

4. PROGRAM 4

a. SOURCE CODE

function Person(name, age) {

this.name = name;

this.age = age;

}
Person.prototype.sayHello = function() {

console.log("Halo, nama saya " + this.name + ", Umur saya: " +this.age);

};

const person1 = new Person("Roger", 32);

const person2 = new Person("Garp", 77);

person1.sayHello();

person2.sayHello();

b. OUTPUT

mendefinisikan fungsi konstruktor bernama Personyang mengambil dua argumen: dan . nameage. Di
dalam fungsi, dan digunakan untuk menetapkan argumen yang disediakan ke properti objek yang sedang
dibuat. this.namethis.age. Baris ini menambahkan metode yang dipanggil sayHelloke Personprototipe
fungsi. Prototipe adalah objek yang berfungsi sebagai cetak biru untuk semua contoh yang dibuat
menggunakan Personkonstruktor. Metode ini sayHellomenggunakan literal templat ( "tanda petik
terbalik ") to create a formatted string that includes the object'snama andumur orang . Theini1
orang2`).keyword within the method refers to the specific object that is calling the method (eitheror.
const person1 = new Person("Roger", 32);membuat objek baru bertipe Personbernama person1.
Argumen "Roger" dan 32 diteruskan ke konstruktor dan ditetapkan ke person1.namedan person1.age,
masing-masing. const person2 = new Person("Garp", 72);membuat Personobjek lain bernama
person2dengan nilai "Garp" untuk namedan 72 untuk age. person1.sayHello();memanggil
sayHellometode pada objek person1. Karena person1.name"Roger" dan person1.age32, metode akan
menampilkan string person2.sayHello();panggilan sayHellopada person2. Karena person2.name"Garp"
person2.ageberusia 32 tahun.

5. VALUE COMPARISON OPERATORS


1. PROGRAM 1

a. SOURCE CODE

let angkaSebagaiString = "42";

let angkaSebagaiAngka = 42;

console.log(angkaSebagaiString == angkaSebagaiAngka);

console.log(angkaSebagaiString === angkaSebagaiAngka);

b. OUTPUT

Operator == Lebih fleksibel karena melakukan konversi tipe data. Namun, bisa menyebabkan hasil yang
tidak terduga jika tidak digunakan dengan hati-hati. Operator === Lebih ketat dan memberikan hasil yang
lebih konsisten. Sebaiknya gunakan operator ini jika Anda ingin memastikan bahwa kedua variabel
memiliki nilai dan tipe data yang sama persis.

2. PROGRAM 2

a. SOURCE CODE

let angka = 10;

let teks = "10";


console.log(angka != teks);

console.log(angka !== teks);

b. OUTPUT

Meskipun keduanya memiliki nilai yang sama secara numerik, tipe datanya berbeda. Karena tipe datanya
berbeda, maka perbandingan != menghasilkan true. Karena nilai dan tipe datanya berbeda, maka
perbandingan !== juga menghasilkan true.

3. PROGRAM 3

a. SOURCE CODE

let angka1 = 10;

let angka2 = 5;

console.log(angka1 > angka2);

console.log(angka1 < angka2);

console.log(angka1 >= angka2);

console.log(angka1 <= angka2);


b. OUTPUT

Operator > (lebih besar dari): Mengembalikan true jika nilai di sebelah kiri lebih besar dari nilai di
sebelah kanan. Operator < (lebih kecil dari): Mengembalikan true jika nilai di sebelah kiri lebih kecil dari
nilai di sebelah kanan. Operator >= (lebih besar dari atau sama dengan): Mengembalikan true jika nilai di
sebelah kiri lebih besar dari atau sama dengan nilai di sebelah kanan. Operator <= (lebih kecil dari atau
sama dengan): Mengembalikan true jika nilai di sebelah kiri lebih kecil dari atau sama dengan nilai di
sebelah kanan.

6. ARRAY

1. PROGRAM 1

a. SOURCE CODE

let myArray = [10, 20, 30, 40];

console.log("Array awal:", myArray);

myArray.push(50);

console.log("Setelah menambahkan 50:", myArray);

myArray.pop();

console.log("Setelah menghapus elemen terakhir:", myArray);


b. OUTPUT

let myArray = [10, 20, 30, 40]; membuat sebuah array yang berisi angka 10, 20, 30, dan 40.
myArray.push(50); menambahkan angka 50 ke akhir array. Metode push() digunakan untuk
menambahkan satu atau lebih elemen ke akhir array. myArray.pop(); menghapus elemen terakhir dari
array. Metode pop() menghapus dan mengembalikan elemen terakhir dari array.

2. PROGRAM 2

a. SOURCE CODE

let myArray = [10, 20, 30, 40];

console.log("Array awal:", myArray);

myArray[2] = 99;

console.log("Array setelah perubahan:", myArray);

b. OUTPUT

let myArray = [10, 20, 30, 40]; membuat sebuah array yang berisi angka 10, 20, 30, dan 40. myArray[2] =
99;mengakses elemen pada indeks 2 (yang sebenarnya adalah elemen ketiga karena indeks dimulai dari
0) dan mengubah nilainya menjadi 99.

3. PROGRAM 3
a. SOURCE CODE

let myArray = [10, "Hello", true, { name: "John", age: 30 }, [1, 2, 3]];

for (let i = 0; i < myArray.length; i++) {

console.log("Elemen ke-" + i + " bertipe data:", typeof myArray[i]);

b. OUTPUT

let myArray = [10, "Hello", true, { name: "John", age: 30 }, [1, 2, 3]];membuat array yang berisi:

Angka (10)

String ("Halo")

Boolean (benar)

Objek ({nama: "John", umur: 30})

Susunan ([1, 2, 3])


Menggunakan perulangan for, kita mengakses setiap elemen dalam array.

typeof myArray[i]digunakan untuk mendapatkan tipe data dari elemen saat ini.

console.log()mencetak tipe data ke konsol.

7. TYPE CASTING

1. PROGRAM 1

a. SOURCE CODE

let angkaSebagaiString = "48";

let angka = Number(angkaSebagaiString);

console.log(angka);

console.log(typeof angka);

b. OUTPUT
let angkaSebagaiString = "48"; membuat sebuah variabel string yang berisi karakter angka "48". let angka
= Number(angkaSebagaiString); menggunakan fungsi Number() untuk mengubah string menjadi number.
Hasil konversi disimpan dalam variabel angka. console.log(angka); mencetak nilai angka yang sekarang
bertipe number. console.log(typeof angka); mencetak tipe data dari angkaBahasa Indonesia: yang
seharusnya adalah "number".

2. PROGRAM 2

a. SOURCE CODE

let nilaiBoolean = true;

let stringDariBoolean = String(nilaiBoolean);

console.log(stringDariBoolean);

let angkaDariBoolean = Number(nilaiBoolean);

console.log(angkaDariBoolean);

b. OUTPUT

Boolean ke String: Ketika dikonversi menjadi string, nilai boolean true akan menjadi string "true", dan
false akan menjadi string "false". Boolean ke Number: Ketika dikonversi menjadi number, nilai boolean
true akan menjadi angka 1, dan false akan menjadi angka 0.

8. LOOPING
1. PROGRAM 1

a. SOURCE CODE

for (let i = 1; i <= 10; i++) {

console.log(i);

b. OUTPUT

 for (let i = 1; i <= 10; i++): Ini adalah struktur dasar loop for di JavaScript.

let i = 1;: Membuat variabel i dengan nilai awal 1. Variabel ini akan menjadi counter untuk perulangan.

i <= 10;: Kondisi yang harus dipenuhi agar loop terus berjalan. Selama nilai i kurang dari atau sama
dengan 10, loop akan terus berulang.

i++: Setelah setiap iterasi, nilai i akan bertambah 1.


 console.log(i);: Perintah ini akan mencetak nilai i ke konsol pada setiap iterasi.

2. PROGRAM 2

a. SOURCE CODE

let i = 1;

while (i <= 10) {

console.log(i);

i++;

b. OUTPUT

let i = 1;: Kita mendeklarasikan variabel i dengan nilai awal 1. Variabel ini akan berfungsi sebagai counter
untuk perulangan. while (i <= 10): Kondisi dalam loop ini memeriksa apakah nilai i kurang dari atau sama
dengan 10. Selama kondisi ini benar, loop akan terus berjalan. console.log(i);: Perintah ini mencetak nilai
i ke konsol. i++;: Nilai i kemudian dinaikkan satu menggunakan operator ++. Ini memastikan bahwa pada
iterasi berikutnya, nilai i akan bertambah.

3. PROGRAM 3

a. SOURCE CODE

let i = 1;

do {

console.log(i);

i++;

} while (i <= 10);

b. OUTPUT

do { ... } while (i <= 10);: Blok kode di dalam do akan selalu dijalankan setidaknya sekali, bahkan jika
kondisi dalam while awalnya sudah salah. Setelah itu, kondisi i <= 10 akan diperiksa. i++;: Nilai i
kemudian dinaikkan satu menggunakan operator ++. Ini memastikan bahwa pada iterasi berikutnya, nilai
i akan bertambah.
4. PROGRAM 4

a. SOURCE CODE

const myArray = [10, 20, 30, 40, 50];

for (let i = 0; i < myArray.length; i++) {

console.log(myArray[i]);

for (const element of myArray) {

console.log(element);

let i = 0;

while (i < myArray.length) {

console.log(myArray[i]);

i++;

b. OUTPUT
for loop: Merupakan loop yang paling umum digunakan dan sangat fleksibel. Kita menentukan nilai awal,
kondisi akhir, dan cara mengubah nilai iterasi di setiap langkah.

untuk...dari loop (JavaScript): Khusus untuk bahasa-bahasa yang mendukung iterasi langsung pada
elemen-elemen iterable (seperti array), loop ini lebih ringkas dan mudah dibaca.

perulangan while: Loop ini akan terus berjalan selama kondisi yang diberikan bernilai benar. Kita perlu
mengelola indeks atau counter secara manual.

perulangan for-each (Java): Mirip dengan for...of loop di JavaScript, digunakan untuk iterasi langsung
pada elemen-elemen array tanpa perlu mengelola indeks.

5. PROGRAM 5

a. SOURCE CODE
const people = [

{ name: agung', age: 18 },

{ name: 'Suki', age: 35 },

{ name: 'AMBATUKAM', age: 73 }

];

const adults = people.filter(person => person.age > 25);

console.log(adults);

const names = people.map(person => person.name.toUpperCase());

console.log(names);

b. OUTPUT

Membuat array baru dengan elemen yang memenuhi kondisi tertentu.

Menggunakan fungsi filter()dalam JavaScript dan filter()ekspresi lambda dengan Python.

Mengembalikan array baru tanpa mengubah array asli.

Membuat array baru dengan mengubah setiap elemen sesuai dengan fungsi yang diberikan.

Menggunakan fungsi map()dalam JavaScript danmap() dengan lambda expression dalam Python.
Mengembalikan array baru tanpa mengubah array asli.

Anda mungkin juga menyukai