BAB III ANALISA DAN PERANCANGAN APLIKASI

dokumen-dokumen yang mirip
BAB IV IMPLEMENTASI DAN PENGUJIAN

JAWABAN ORGANISASI KOMPUTER 7 Agustus 2004

DASAR KOMPUTER DAN PEMROGRAMAN

BAB I PENDAHULUAN. 1.1 Latar Belakang

ORGANISASI KOMPUTER DASAR

OPERATION SYSTEM. Jenis - Jenis Register Berdasarkan Mikroprosesor 8086/8088

CPU PERKEMBANGAN ARSITEKTUR CPU. ( Central Processing Unit )

DCH1B3 Konfigurasi Perangkat Keras Komputer

Bagian 2 STRUKTUR CPU

Operasi Transfer Data

Arsitektur Set Instruksi. Abdul Syukur

MODUL PRAKTIKUM SISTEM OPERASI PRAKTIKUM I MODEL PEMROGRAMAN 1

Arsitektur dan Organisasi Komputer. Set instruksi dan Pengalamatan

STRUKTUR CPU. Arsitektur Komputer

BAB III ANALISIS DAN PERANCANGAN APLIKASI 3.1 ANALISIS

3. ALU. Tugas utama adalah melakukan semua perhitungan aritmatika dan melakukan keputusan dari suatu operasi logika.

Hanif Fakhrurroja, MT

BAB V SISTEM PENGOLAHAN DATA KOMPUTER (Arsitektur Komputer) "Pengantar Teknologi Informasi" 1

CENTRAL PROCESSING UNIT (CPU)

Materi 2: Computer Systems

Pertemuan ke 6 Set Instruksi. Computer Organization Dosen : Eko Budi Setiawan

MAKALAH MODE DAN FORMAT PENGALAMATAN SET INSTRUKSI. Nama : Annisa Christyanti Kelas : XI TJA 3 NIS :

GAMBARAN UMUM SISTEM KOMPUTER

CENTRAL PROCESSING UNIT (CPU) Sebuah mesin tipe von neumann

SET INSTRUKSI. Organisasi dan Arsitektur Komputer

ebook Fakultas Teknologi Industri Universitas Gunadarma 2013

3. MODE PENGALAMATAN CHAERUL UMAM, S.KOM

Komputer adalah sebuah mesin hitung elektronik yang secara cepat menerima informasi masukan digital dan mengolah informasi tersebut menurut

Oleh: 1. Singgih Gunawan Setyadi ( ) 2. Handung Kusjayanto ( ) 3. Wahyu Isnawan ( )

Materi 4: Microprocessor-Based Control

MAKALAH. Mata Kuliah. Arsitektur dan Organisasi Komputer

BAB III ANALISA DAN PERANCANGAN

BAB 3 ANALISIS DAN PERANCANGAN SISTEM PROGRAM APLIKASI HANDS RECOGNIZER

1 Tinjau Ulang Sistem Komputer

PERTEMUAN. 1. Organisasi Processor. 2. Organisasi Register

ARSITEKTUR KOMPUTER SET INSTRUKSI

BAB III ANALISA MASALAH DAN RANCANGAN PROGRAM

Semoga Tuhan memberi berkah pada kelas ini.

Unit Kendali (2) CONTROL UNIT. RegDst Branch. MemRead. MemToReg. Instruction (31-26) ALUOp MemWrite. ALUSrc. RegWrite

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM. telah dijelaskan pada bab sebelumnya. Analisis yang dilakukan bertujuan untuk


Hal-hal yang perlu dilakukan CPU adalah : 1. Fetch Instruction = mengambil instruksi 2. Interpret Instruction = Menterjemahkan instruksi 3.

ORGANISASI SISTEM KOMPUTER & ORGANISASI CPU Oleh: Priyanto

Dua komponen yang menjalankan proses dalam komputer, yaitu : Central Processing Unit (CPU) Memory Kedua komponen tersebut terletak pada Motherboard.

Set Instruksi & Mode Pengalamatan. Team Dosen Telkom University 2016

CENTRAL PROCESSING UNIT CPU

Arsitektur dan Organisasi

PROGRAM STUDI S1 SISTEM KOMPUTER UNIVERSITAS DIPONEGORO. Oky Dwi Nurhayati, ST, MT

BAHASA MESIN. PDE - bahasa mesin 1

BAB III ANALISIS SISTEM DAN PERANCANGAN

Pertemuan ke - 3 Evolusi dan Kinerja Komputer

Struktur Fungsi CPU. Mata Kuliah Arsitektur Komputer Program Studi Sistem Informasi 2013/2014 STMIK Dumai -- Materi 03 --

Organisasi Komputer II STMIK AUB SURAKARTA

MODUL II SISTEM WINDOWS XP DAN SISTEM KEAMANAN KOMPUTER

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

BAB III ANALISA DAN PERANCANGAN

BAB III ANALISA MASALAH DAN PERANCANGAN PROGRAM

BAB III ANALISA DAN PERANCANGAN

7.1 Pendahuluan. 7.2 Central Processing Unit (CPU)

Transfer Register. Andang, Elektronika Komputer Digital 1

BAB IV HASIL DAN PEMBAHASAN

Pertemuan ke - 3. Riyanto Sigit, ST. Nur Rosyid, S.kom Setiawardhana, ST Hero Yudo M, ST. Politeknik Elektronika Negeri Surabaya

BAB III ANALISIS DAN PERANCANGAN

BAB IV ANALISIS DAN PERANCANGAN SISTEM. menggambarkan aliran-aliran informasi dari bagian-bagian yang terkait, baik dari

Pengantar Teknologi Informasi A. Pertemuan 7. Prossesor & Memori

STRUKTUR FUNGSI CPU. Menjelaskan tentang komponen utama CPU. Membahas struktur dan fungsi internal prosesor, organisasi ALU, control unit dan register

Simple As Possible (SAP) - 1. Abdul Syukur

Aditya Wikan Mahastama

ORGANISASI KOMPUTER. PERTEMUAN 3 - Sejarah Singkat Komputer

Sejarah Singkat Komputer

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

Organisasi Komputer. Candra Ahmadi, MT

Jumlah maksimum operand dalam suatu computer menunjukkan organisasi prosessor mesin tersebut.

CONTROL UNIT. Putu Putra Astawa

BAB IV HASIL DAN UJI COBA

PSEUDOCODE TIPE DATA, VARIABEL, DAN OPERATOR

Hanif Fakhrurroja, MT

10. Konsep Operasional Prosessor dan Memori

Pertemuan ke - 5 Struktur CPU

Hanif Fakhrurroja, MT

Mengapa mempelajari Arsitektur dan Organisasi Komputer ARSITEKTUR DAN ORGANISASI KOMPUTER PART I: OVERVIEW 03/09/2014

BAB III ANALISA DAN PERANCANGAN

Tahun Akademik 2015/2016 Semester I DIG1B3 Konfigurasi Perangkat Keras Komputer

Sebelum membahas mengenai pemrograman LabVIEW, sebaiknya pembaca mengenal istilah istilah penting berikut ini.

ARSITEKTUR SET INSTRUKSI. Ptputraastawa.wordpress.com

Struktur dan Fungsi CPU. Ptputraastawa.wordpress.com

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

Pendahuluan BAB I PENDAHULUAN

SOAL UAS SISTEM KOMPUTER Kelas XI RPL & TKJ

Pertemuan 2 Organisasi Komputer II. Struktur & Fungsi CPU (I)

BAB III ANALISIS DAN PERANCANGAN

BAB III KONSEP DAN PERANCANGAN

DCH1B3 Konfigurasi Perangkat Keras Komputer

BAB III ANALISIS DAN PERANCANGAN SISTEM


SISTEM DIGITAL Dalam Kehidupan Sehari-hari PADA KALKULATOR

BAB III KONSEP DAN PERANCANGAN APLIKASI

BAB IV ANALISA DAN PERANCANGAN SISTEM

BAB III ANALISIS DAN PERANCANGAN SISTEM. Penggunaan smartphone saat ini sangat berkembang sekali karena

Pertemuan Ke-12 RISC dan CISC

Transkripsi:

BAB III ANALISA DAN PERANCANGAN APLIKASI Pada bab analisa dan perancangan aplikasi, penulis akan menjelaskan apa saja yang dibutuhkan untuk membuat aplikasi, menerangkan fungsi dari elemen-elemen yang terkandung dalam aplikasi von Neumann, membandingkan dan memilih apa saja yang sebaiknya digunakan dalam membuat aplikasi von neumann. Selain itu, penulis juga akan menjelaskan bagaimana rancangan aplikasi simulasi pengambilan instruksi dan eksekusi pada mesin von neumann. 3.1 Analisa. Aplikasi von neumann ini merupakan perangkat pengajar untuk membantu proses belajar mengajar antara dosen dan mahasiswa. Dengan adanya aplikasi ini, dosen dapat sedikit lebih mudah mengajarkan proses pengambilan instruksi dan eksekusi pada mesin von neumann. Selain itu, para mahasiswa juga diharapkan sedikit terbantu untuk memahami bagaimana proses dan struktur data dalam melakukan proses pengambilan instruksi dan eksekusi pada mesin von neumann. Penulis tertarik untuk membuat aplikasi pengambilan instruksi dan eksekusi pada mesin von Neumann karena arsitektur ini sangat menarik.pada era modern ini, beberapa piranti canggih menggunakan arsitektur von Neumann.Hal ini menandakan bahwa arsitektur von Neumann memiliki daya sehingga beberapa piranti di era modern ini masih menggunakan arsitektur yang merupakan arsitekur dari komputer generasi pertama. 27

3.1.1 Deskripsi sistem Untuk dapat mengoperasikan aplikasi simulasi ini, dapat masuk ke menu utama simulasi aplikasi von Neumann. Dalam aplikasi simulasi ini, terdapat bilangan biner dan opcode yang harus di terjemahkan untuk dapat memudahkan memahami cara kerja operasi aplikasi. Untuk mengkonversi bilangan, pengguna dapat masuk ke menu konversi bilangan dan untuk menerjemahkan fungsi opcode, pengguna dapat masuk ke menu library opcode. Langkah pertama untuk mengoperasikan dengan masuk ke dalam aplikasi von Neumann.Untuk memudahkan pengguna dan mempersingkat waktu penggunaan aplikasi, maka penulis membuat sistem random atau sistem acak untuk menginput data pada instruksi maupun data pada memori.pengguna juga tidak perlu melakukan apapun untuk dapat melakukan pengisian memori secara random karena pengisian random pada memori secara otomatis terisi saat pengguna masuk ke aplikasi von Neumann. Selanjutnya, untuk melakukan eksekusi, pengguna hanya perlu memilih tombol untuk menampilkan hasil dari proses eksekusi. Hasil dari proses eksekusi akan tervisualisasi pada layar bagian bawah. 3.2 Perancangan Aplikasi Dalam merancang aplikasi simulasi ini, dibutuhkan beberapa hal pendukung pembuatan aplikasi, yaitu rancangan struktur data, algoritma dan rancangan interface aplikasi. 28

3.2.1 Pemodelan Pada pemodelan aplikasi simulasi von Neumann ini, menggunakan tiga macam pemodelan yaitu use case diagram, activity diagram dan sequence diagram. 1. Use case diagram. Gambar 3.1 use case diagram Berikut adalah deskripsi Use case yang telah digambarkan diatas : 1. Nama : aplikasi von neumann. Aktor : User. Deskripsi : pengguna menggunakan aplikasi simulasi von neumann untuk mengetahui bagaimana mesin von neumann bekerja. Skenario : 1. user masuk ke dalam aplikasi simulasi von neumann. 29

2. user menekan tombol ok untuk mengeksekusi instruksi pada memori. 3. output hasil eksekusi tampil pada layar. 2. nama : aplikasi library opcode Aktor : user. Deskripsi : pengguna menggunakan aplikasi library opcode untuk menerjemahkan opcode yang terkandung dalam aplikasi simulasi von neumann. Scenario : 1. user masuk ke dalam aplikasi library opcode. 2. user memasukkan opcode yang akan di terjemahkan dengan memilihnnya pada kotak select. 3. user menekan tombol ok untuk mengeksekusi opcode. 4. tampil output pada kotak output. 3. Nama : aplikasi konversi bilangan Actor : user deskripsi : pengguna menggunakan aplikasi konversi bilangan untuk menerjemahkan bilangan biner ke desimal maupun desimal ke biner. Skenario: 1. user masuk ke dalam aplikasi konversi bilangan. 2. user memasukkan bilangan yang ingin di terjemahkan (harus pilih salah satu, yaitu desimal-biner atau biner-desimal). 30

3. user menekan tombol ok untuk mengeksekusi bilangan. 4. tampil output. 2. Activity diagram. Terdapat tiga buah activity diagram yang akan di bahas, yaitu activity diagram aplikasi simulasi von Neumann, activity diagram aplikasi opcode library dan activity diagram konversi bilangan. 1. Activity diagram aplikasi simulasi von Neumann. Gambar 3.2 activity diagram aplikasi simulasi von neumann. Berdasarkan activity diagram aplikasi simulasi von Neumann diatas, pengguna membuka aplikasi von Neumann, maka data dan instruksi pada memori langsung terisi secara otomatis dan teracak.dan untuk mengeksekusi data dan instruksi, pengguna mengklik tombol ok. Maka akan tampil hasil eksekusi. 31

2. Activity diagram aplikasi library opcode Gambar 3.3 activity diagram aplikasi library opcode Berdasarkan activity diagram aplikasi library opcode diatas, pengguna membuka aplikasi library opcode, setelah itu pengguna dapat menginput opcode yang ingin di terjemahkan. Setelah itu, klik tombol ok untuk melihat terjemahan dari opcode yang telah dimasukkan tadi. 32

3. Activity diagram aplikasi konversi bilangan. Gambar 3.4 activity diagram aplikasi konversi bilangan Berdasarkan activity diagram aplikasi konversi bilangan di atas, pengguna membuka aplikasi konversi bilangan. Lalu untuk menerjemahkan bilangan, pengguna harus mengisi kolom bilangan yang akan di terjemahkan. Lalu klik ok untuk menampilkan bilangan hasil terjemahan. 3. Sequence diagram Terdapat tiga buah sequence diagram yang akan di bahas, yaitu sequence diagram aplikasi simulasi von Neumann, sequence diagram aplikasi opcode library dan sequence diagram konversi bilangan. 33

1. sequence diagram aplikasi simulasi von Neumann. Gambar 3.5 sequence diagram aplikasi simulasi von Neumann Sequence diagram pada gambar 3.5 diatas merupakan sequence diagram aplikasi simulasi von Neumann. Diagram ini menjelaskan interaksi antar objek yang terdapat dalam aplikasi simulasi von neumann yang disusun dalam suatu urutan waktu 34

2. sequence diagram aplikasi opcode library Gambar 3.6 sequence diagram aplikasi opcode library Sequence diagram pada gambar 3.6 diatas merupakan sequence diagram aplikasi opcode library. Diagram ini menjelaskan interaksi antar objek yang terdapat dalam aplikasi opcode library yang disusun dalam suatu urutan waktu 35

3. sequence diagram konversi bilangan. Gambar 3.7 sequence diagram aplikasi konversi bilangan. Sequence diagram pada gambar 3.7 diatas merupakan sequence diagram aplikasi konversi bilangan. Diagram ini menjelaskan interaksi antar objek yang terdapat dalam aplikasi konversi bilangan yang disusun dalam suatu urutan waktu 36

3.2.2 Spesifikasi perancangan Dalam perancangan aplikasi terdapat beberapa spesifikasi aplikasi, yaitu: Random Untuk mengisi kolom pada memori maupun register, maka digunakan sistem random secara otomatis untuk memudahkan dan mempercepat waktu pengoperasian. 11 instruksi Aplikasi ini hanya mengandung 11 set instruksi untuk mengeksekusi data yang terdiri dari beberapa operasi transfer bilangan dan beberapa operasi aritmatika. 1. Struktur data Dalam mendeklarasikan elemen struktur data arsitektur von Neumann ke dalam suatu program, dapat menggunakan berbagai macam struktur data, diantaranya struktur data list, array, record, stack, dll. Namun peneliti akan menggunakan struktur data array sebagai penampung instruksi dan data dalam memori. Selain itu array juga di gunakan dalam menampung data pada registerregister. Penulis memilih untuk menggunakan struktur data array karena beberapa keuntungan, diantaranya: a. Lebih mudah dioperasikan. b. Ekonomis dalam pemakaian memori, bila semua elemen terisi. c. Akses ke setiap elemen memerlukan waktu yang sama. 37

a. Memori Memori merupakan tempat untuk menyimpan instruksi maupun data pada arsitektur von Neumann. Pada keadaan nyata memori pada mesin von neumann terdiri dari 1000 lokasi penyimpanan atau 1000 word, yang masing-masing memiliki panjang sebanyak 40 binary digit (bit). Namun pada aplikasi simulasi ini, jumlah memori akan di perkecil menjadi 100 lokasi penyimpanan yang terdiri dari 50 lokasi penyimpanan atau word instruksi dan 50 word data. Dalam memori format antara word instruksi dan word data berbeda.format untuk instruksi yang memiliki empat buah indeks kolom sedangkan format data yang memiliki dua buah indeks kolom. Gambar 3.8 format memori computer IAS 38

Instruksi Memori instruksi merupakan tempat untuk menampung instruksi-instruksi operasi komputer IAS yang disimpan pada memori. Dalam array memori instruksi dapat dideklarasikan sbb: Type Memori = array [0 50][0 39] of biner Dari pendeklarasian diatas dapat dijelaskan bahwa nama array tersebut adalah Memori. Jumlah indeks baris array, yaitu berjumlah 50 baris, yaitu dimulai dari baris 0 sampai baris 49. Sedangkan panjang word pada array memori adalah 40 bit. Array Memori memiliki tipe data biner. Pada memori instruksi terdiri dari 40 bit yang di bagi menjadi 2 macam instruksi, yaitu 0-19 bit untuk instruksi kiri dan 20-39 bit untuk instruksi kanan. Pada tiap-tiap bagian instruksi terdiri dari satu buah opcode dan satu buah alamat.indeks opcode pada tiap bagian instruksi berfungsi untuk menampung kode operasi instruksi. Sedangkan indeks alamat berfungsi untuk menampung alamat dari instruksi yang akan dijalankan. Data Memori untuk format data merupakan tempat untuk menampung data yang akan di eksekusi. Array memori data dapat dideklarasikan sbb: Type Memori=array[51 100][0 40] of biner. Dari pendeklarasian array Memori untuk format data diatas dapat dijelaskan bahwa nama dari array tersebut adalah array Memori. Array 39

tersebut memiliki 50 indeks baris yang dimulai dari 51 sampai 100.Panjang word untuk array memori adalah 40 bit.data yang terdapat dalam array tersebut berbentuk bilangan biner. Pada memori data juga bernilai 40 bit yang kemudian di pecah menjadi 1 bit untuk bit tanda dan 39 bit untuk data. Bit tanda merupakan indikator apakah data tersebut bernilai positif maupun negatif. Namun, tanda positif dan negatif akan diinisialisasikan menjadi angka 1 dan 0. Jika bernilai positif maka akan diinisialisasikan dengan 0 dan jika bernilai negatif akan diinisialisasikan dengan 1. Contoh : b. Register Hal penting selanjutnya yang terdapat dalam arsitektur von neumann adalah ALU (Arithmetic and Logic Unit) dan PCU (Program Control Unit). Kedua unit ini berisi register-register.register-register yang terkandung pada ALU dan PCU diantaranya IR, MAR, MBR, PC, AC. Register-register tersebut merupakan tempat sementara bagi data instruksi yang akan diproses. Register-register tersebut akan diisi angka-angka yang berasal dari memori dan set instruksi yang terdapat pada array memori, kemudian akan di kembalikan atau di letakkan dengan nilai baru ke dalam array yang berperan sebagai memori. Berbeda dengan struktur data pada memori dan set instruksi, jenis struktur data array yang digunakan pada register merupakan array 1 dimensi. Sedangkan untuk tipe data yang terkandung pada array register ini tetap menggunakan bilangan biner, seperti array memori. Dengan 40

digunakannya bilangan biner, akan memperjelas instruksi-instruksi yang diinginkan mengingat terdapat beberapa set instruksi yang mirip namun memiliki kode bilangan yang berbeda. Register memiliki deklarasi array sebagai berikut: Type Register = array[0 39] of biner IR = Register MBR = Register MAR = Register PC = Register IBR = Register Berikut elemen-elemen register: 1. IR IR atau Instruction Register merupakan elemen register yang berfungsi untuk menyimpan instruksi yang akan dieksekusi. Berikut format register IR: Gambar 3.9 register IR 41

2. MBR MBR atau Memory Buffered Reader merupakan register yang berfungsi untuk menyimpan sementara word yang akan disimpan pada memori atau digunakan untuk menerima word dari memori. MBRakan dibagi menjadi 4 kolom, yaitu 2 buah kolom opcode yang memiliki panjang 8 bit untuk setiap kolomnya. Selain itu pada array ini juga terdapat 2 buah kolom alamat yang masing-masing memiliki panjang 12 bit.berikut format register MBR: Gambar 3.10 register MBR 3. MAR MAR atau Memory Address Register merupakan register yang berfungsi untuk menentukan alamat word di memori untuk dituliskan dari MBR atau dibaca ke MBR. Berikut format register MAR: Gambar 3.11 register MAR 42

4. PC PC atau Program Counter merupakan sebuah register yang berisi alamat pasangan instruksi berikutnya yang akan diambil dari memori. Berikut format register PC: Gambar 3.12 register PC 5. AC AC atau Accumulator merupakan sebuah register yang berfungsi untuk menyimpan sementara operand dan hasil operasi ALU yang berarti. Format register AC adalah sbb: Gambar 3.13 register AC 6. MQ MQ atau Multiplier-Quontient merupakan sebuah register yang berfungsi untuk menyimpan sementara operand dan hasil operasi ALU yang kurang berarti. Format register MQ adalah sbb: 43

Gambar 3.14 register MQ 7. IBR IBR atau Instruction Buffer Registermerupakan array register yang digunakan untuk menyimpan sementara instruksi sebelah kanan word didalam memori. IBR memiliki dua buah kolom yaitu kolom opcode yang memiliki panjang 8 bit dan kolom alamat yang memiliki panjang 12 bit. Gambar 3.15 register IBR Tipe data 2. Tipe data tipe data yang terkandung dalam struktur data aplikasi von Neumann adalah tipe data baru yaitu tipe data biner. biner = type [0,1] 44

3.2.3 Algoritma // mendeklarasikan nilai awal pada register MAR, PC, IR, IBR,MBR : Register Function instruksi(ins){fungsi untuk mengecek opcode dan mengeksekusi opcode pada instruksi} { Switch (opcode){ Case 00001010 :{ MQ == AC; break;} Case 00001001 :{ M(X) == MQ; break;} Case 00000001 :{ M(X) == AC break;} Case 00000010 :{ -M(X) == AC break;} Case 00000011 :{ M(X) == AC break;} Case 00000100 :{ - M(X) == AC break;} Case 00000101 :{ AC = AC + M(X) break; } Case 00000111 :{ AC = AC + M(X) break;} 45

Case 00000110 :{ AC= AC M(X) break;} Case 00001000 :{ AC=AC - M(X) break;} Case 00001011 :{ A=M(X) * MQ A[0-39]=AC; A[40-79]=MQ; break;} } While PC <= 50{mengecek apakah MAR <= 50 mengingat instruksi <=50} IR MBR; { masukkan nilai register IBR pada register IR } MAR MBR; {masukkan nilai register IBR pada register MAR} PC <- PC+1 {nilai PC ditambah 1} instruksi(ins) {pada tahap ini, dilakukan decode dan eksekusi dengan cara memanggil fungsi instruksi} end while end 46

3.2.4 User Interface 1. Tampilan Menu utama Gambar 3.16 tampilan menu utama Pada tampilan menu utama pada gambar 3.16 di atas, merupakan tampilan aplikasi secara keseluruhan dengan terdapat tiga buah menu aplikasi. 47

2. Tampilan menu 1 Gambar 3.17 tampilan menu 1 Bentuk tampilan pada gambar 3.17 diatas, merupakan tampilan dari aplikasi simulasi von Neumann. 48

3. Tampilan menu 2 Gambar 3.18 tampilan menu 2 Tampilan menu 2 pada gambar 3.18 diatas merupakan tampilan untuk aplikasi library opcode. 4. Tampilan menu 3 Gambar 3.19 tampilan menu 3 Tampilan menu 3 pada gambar 3.19 diatas merupakan tampilan untuk aplikasi konversi bilangan. 49

50