AUTH LARAVEL

Pengertian RAM

RAM adalah singkatan dari Random Access Memory adalah sebuah perangkat keras komputer yang berfungsi menyimpan berbagai data dan instruksi program.Berbeda dengan tipe megnetik atau disk yang mengakses data secara berurutan,isi dari RAM dapat diakses secara random atau tidak mengacu pada pengaturan letak data.

Sejarah Dan Perkembangan RAM

Memori akses acak (bahasa Inggris: Random access memory, RAM) adalah sebuah tipe penyimpanan komputer yang isinya dapat diakses dalam waktu yang tetap tidak memperdulikan letak data tersebut dalam memori. Ini berlawanan dengan alat memori urut, seperti tape magnetik, disk dan drum, di mana gerakan mekanikal dari media penyimpanan memaksa komputer untuk mengakses data secara berurutan.

Pertama kali dikenal pada tahun 60′an. Hanya saja saat itu memori semikonduktor belumlah populer karena harganya yang sangat mahal. Saat itu lebih lazim untuk menggunakan memori utama magnetic. Perusahaan semikonduktor seperti Intel memulai debutnya dengan memproduksi RAM , lebih tepatnya jenis DRAM. Biasanya RAM dapat ditulis dan dibaca, berlawanan dengan memori-baca-saja (read-only-memory, ROM), RAM biasanya digunakan untuk penyimpanan primer (memori utama) dalam komputer untuk digunakan dan mengubah informasi secara aktif, meskipun beberapa alat menggunakan beberapa jenis RAM untuk menyediakan penyimpanan sekunder jangka-panjang.

Tetapi ada juga yang berpendapat bahwa ROM merupakan jenis lain dari RAM, karena sifatnya yang sebenarnya juga Random Access seperti halnya SRAM ataupun DRAM. Hanya saja memang proses penulisan pada ROM membutuhkan proses khusus yang tidak semudah dan fleksibel seperti halnya pada SRAM atau DRAM.

Selain itu beberapa bagian dari space addres RAM ( memori utama ) dari sebuah sistem yang dipetakan kedalam satu atau dua chip ROM. Namun perkembangan RAM ini sangat cepat sehingga beberapa ahli komputer juga turut melakukan pengelompokan dari evolusi ram ini.

Jenis – Jenis RAM

1.DRAM (Dynamic Random Access Memory)

RAM jenis ini termasuk memori semikonduktor yang memerlukan kapasitor sebagai tumpuan untuk menyegarkan data yang ada di dalamnya.

Uniknya, RAM ini memiliki kecepatan yang lebih tinggi dari EDO RAM. Sedangkan, frekuensi kerjanya bervariasi, antara 4,7 hingga 40 Mhz (Megahertz).

2.SDRAM (Synchronous Dynamic Random Access Memory)

Berbeda dengan RAM jenis lainnya, RAM satu ini memiliki kecepatan cukup tinggi, yakni antara 100 hingga 133 Mhz. Tak hanya itu, RAM ini memiliki 168 pin saluran transfer data.

Ciri-ciri RAM ini terdapat dua celah di bagian kaki, dan umumnya diletakkan pada slot DIMM/SDRAM di motherboard yang mampu menampung memori mulai dari 16 MB (Mega Byte) hingga 1 GB (Giga Byte).

3.RDRAM (Rambus Dynamic Random Access Memory)

RAM satu ini telah diperkenalkan pada tahun 1995 dengan kecepatan 600 Megabytes/second (MBps). Di tahun 1998 kecepatannya bertambah menjadi 1 Gigabytes/second (GBps). RAM ini juga memiliki pin slot sejumlah 184 pin.

4.SRAM (Static Random Access Memory)

Berbeda dengan DRAM, SRAM termasuk RAM yang terbuat dari bahan semikonduktor yang tidak membutuhkan kapasitor dan tidak membutuhkan penyegaran secara berkala. Dengan begitu, RAM satu ini kinerjanya lebih cepat.

SRAM didesain menggunakan desain cluster 6 transistor untuk menyimpan setiap bit informasi. Hanya saja, RAM ini biaya produksinya mahal dan kapasitas penyimpanannya kecil sehingga hanya bisa digunakan untuk bagian yang penting.

RAM ini sering digunakan untuk cache memori. Tak hanya itu, kecepatan SRAM mampu mengimbangi kecepatan prosesor 500 MHz atau lebih.

5.EDORAM (Extended Data Out Random Access Memory)

RAM yang dikembangkan tahun 1995 ini memiliki kemampuan yang lebih cepat dalam membaca dan mentransfer data dibandingkan dengan jenis RAM lainnya. Ram ini memiliki slot pin sejumlah 72 pin.

RAM ini sangat cocok dipasang pada semua komputer pentium serta komponen ini juga cocok untuk dipasang pada komputer dengan bus mencapai 66 MHz.

6.FPM DRAM (First Page Mode RAM)

RAM satu ini merupakan bentuk awal dari DRAM. RAM ini memiliki laju transfer maksimum untuk 12 cache 1,2 mendekati 176 MBps.

FPM sendiri bekerja dalam rentang frekuensi 16 hingga 66 MHz dengan akses waktu hingga 50 ns.

7.Flash RAM

Jenis RAM satu ini merupakan jenis memori yang berkapasitas rendah yang umum digunakan pada TV, VCR, hingga ponsel lama. Memori ini biasa dipasang pada perangkat yang membutuhkan penyegaran dengan daya yang kecil.

8.VRAM (Video Graphics Random Access Memory)

VRAM termasuk jenis memori yang digunakan untuk menyimpan data gambar yang ditampilkan di monitor komputer. Umumnya, RAM ini bertindak sebagai buffer antara CPU dan kartu grafis.

9.DDR SDRAM (Double Date Rate SDRAM)

Memori satu ini terkenal sebagai memori komputer yang sangat cepat. Jenis RAM ini memiliki kecepatan sangat tinggi sehingga tak heran bila digunakan di pelbagai perangkat. RAM ini dapat menjalankan dua instruksi sekaligus dalam satuan waktu yang sama.

Memiliki jumlah slot pin sebanyak 184 pin dual in-line (DIMM) membuat RAM jenis ini sedikit mengkonsumsi listrik. Kapasitasnya juga jauh lebih besar, yakni 4 GB.

10.SO-DIMM (Small Outline Dual In-Line Memory Module)

Memori ini umumnya digunakan untuk perangkat notebook. SO-DIMM memiliki bentuk fisik yang ringkas, umumnya setengah dari DDR RAM. Untuk kapasitasnya mengikuti besaran kapasitas memory DDR pada komputer desktop.


CONTROLLER

<?php

namespace App\Http\Controllers;

use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
use Illuminate\Foundation\Bus\DispatchesJobs;
use Illuminate\Foundation\Validation\ValidatesRequests;
use Illuminate\Routing\Controller as BaseController;
use Illuminate\Http\Request;
use Auth;
use File;
use DB;
use DateTime;
use App\Models\Masyarakat;
use App\Models\Petugas;
use App\Models\Pengaduan;
use App\Models\Tanggapan;
use Illuminate\Foundation\Auth\AuthenticatesUsers;

class Controller extends BaseController
{
    use AuthorizesRequests, DispatchesJobs, ValidatesRequests;
   
    public function masyarakat (Request $request)
    {
       
        //insert ke table masyarakat
        $masyarakat= new \App\Models\Masyarakat;
        $masyarakat->nama_lengkap =$request->nama_lengkap;
        $masyarakat->nik =$request->nik;
        $masyarakat->telp =$request->telp;
        $masyarakat->email =$request->email;
        $masyarakat->password=bcrypt($request->password);
        $masyarakat->save();

         //inset ke table dataalumni
        //  $request->request->add(['user_id' => $masyarakat->id]);
        //  $dataalumni=\App\Models\dataalumni::create($request->all());
        return redirect("/")->with("sukses","Anda Berhasil Mendaftarkan Diri");
    }
        public function datamasyarakat()
        {
            $datamasyarakat= \App\Models\Masyarakat::all();
            return view('/data-masyarakat',['datamasyarakat'=> $datamasyarakat]);
        }
        public function datapetugas()
        {
            $datapetugas= \App\Models\Petugas::all();
            return view('/data-petugas',['datapetugas'=>  $datapetugas]);
        }
        public function postlogin(Request $request)
        {
            if (Auth::guard('masyarakat')->attempt(['email' => $request->email, 'password' => $request->password])) {
              return redirect('/tambah-pengaduan');
            }
            else if (Auth::guard('petugas')->attempt(['email' => $request->email, 'password' => $request->password, 'level' => 'admin' ])) {
               
              return redirect('/beranda');
            }
            else if (Auth::guard('petugas')->attempt(['email' => $request->email, 'password' => $request->password, 'level' => 'petugas' ])) {
               
                return redirect('/beranda');
            }
             return redirect("/");
        }
        public function petugas (Request $request)
        {
           
            //insert ke table masyarakat
            $petugas= new \App\Models\Petugas;
            $petugas->nama_petugas =$request->nama_petugas;
           
            $petugas->telp =$request->telp;
            $petugas->email =$request->email;
            $petugas->level =$request->level;
            $petugas->password=bcrypt($request->password);
            $petugas->save();
   
             //inset ke table dataalumni
            //  $request->request->add(['user_id' => $masyarakat->id]);
            //  $dataalumni=\App\Models\dataalumni::create($request->all());
            return redirect("/data-petugas")->with("sukses","Anda Berhasil Mendaftar");
        }

        public function logout()
        {
           
            if(Auth::guard('masyarakat')->check())
            {
                Auth::guard('masyarakat')->logout();
            }
            else if(Auth::guard('petugas')->check())
            {
                Auth::guard('petugas')->logout();
            }
            return redirect("/");
        }
        public function login()
        {
            return view('login');
        }
        public function pengaduanproses (Request $request)
        {
           // insert ke table pengaduan
            $now = new DateTime();
            $pengaduan= new \App\Models\Pengaduan;
            $pengaduan->nik =$request->nik;
            $pengaduan->isi_laporan =$request->isi_laporan;
            $pengaduan->tgl_pengaduan=$now;
            $pengaduan->save();

            $pengaduan1=\App\Models\Masyarakat::find($request->nik);
        //dd($pengaduan1);
            return redirect('data-pengaduan/'. $pengaduan1->nik);
            // return redirect()->back();
           
        }
        public function datapengaduan($nik)
        {
            $masyarakat= \App\Models\Masyarakat::find($nik);
            $datapengaduan= \App\Models\Pengaduan::where('nik',$masyarakat->nik)->get();
            // dd($datapengaduan);
            return view('/data-pengaduan',['datapengaduan'=>  $datapengaduan,'masyarakat'=>  $masyarakat]);
        }
        public function datapengaduanmasyarakat()
        {
            $masyarakat= \App\Models\masyarakat::all();
            $datapengaduanmasyarakat= \App\Models\Pengaduan::all();
            //  dd($masyarakat);
            return view('/data-pengaduan-masyarakat',['datapengaduanmasyarakat'=>  $datapengaduanmasyarakat,'masyarakat'=>  $masyarakat]);
        }
        public function tulistanggapan($id_pengaduan)
        {
            $datapengaduan1= \App\Models\Pengaduan::find($id_pengaduan);
            return view('/tulis-tanggapan',['datapengaduan'=>  $datapengaduan1]);
        }
        public function pengaduantanggapan (Request $request,$id_petugas,$id_pengaduan)
        {
            // insert ke table tanggapan
            $now = new DateTime();
            $Tanggapan= new \App\Models\Tanggapan;
            $Tanggapan->id_petugas =$id_petugas;
            $Tanggapan->id_pengaduan =$id_pengaduan;
            $Tanggapan->tanggapan =$request->tanggapan;
            $Tanggapan->tgl_tanggapan=$now;
            $Tanggapan->save();
            return redirect('/data-tanggapan');
           
        }
        public function datatanggapan()
        {
           $data= DB::table('tanggapan')
            ->join('pengaduan', 'tanggapan.id_pengaduan', '=', 'pengaduan.id_pengaduan')-> join('petugas', 'tanggapan.id_petugas', '=', 'petugas.id_petugas')->join('masyarakat','pengaduan.nik', '=','pengaduan.nik')->get();
       
    return view('/data-tanggapan',['data' => $data]);
       
    }
    public function lihattanggapan($id_pengaduan)
        {
           $data= DB::table('tanggapan')
            ->join('pengaduan', 'tanggapan.id_pengaduan', '=', 'pengaduan.id_pengaduan')-> join('petugas', 'tanggapan.id_petugas', '=', 'petugas.id_petugas')->join('masyarakat','pengaduan.nik', '=','pengaduan.nik')->where('tanggapan.id_pengaduan',$id_pengaduan)->get();
    dd($data);  
    // return view('/data-tanggapan',['data' => $data]);
       
        }
}

KERNEL

<?php

namespace App\Http;

use Illuminate\Foundation\Http\Kernel as HttpKernel;

class Kernel extends HttpKernel
{
    /**
     * The application's global HTTP middleware stack.
     *
     * These middleware are run during every request to your application.
     *
     * @var array<int, class-string|string>
     */
    protected $middleware = [
        // \App\Http\Middleware\TrustHosts::class,
        \App\Http\Middleware\TrustProxies::class,
        \Illuminate\Http\Middleware\HandleCors::class,
        \App\Http\Middleware\PreventRequestsDuringMaintenance::class,
        \Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,
        \App\Http\Middleware\TrimStrings::class,
        \Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
    ];

    /**
     * The application's route middleware groups.
     *
     * @var array<string, array<int, class-string|string>>
     */
    protected $middlewareGroups = [
        'web' => [
            \App\Http\Middleware\EncryptCookies::class,
            \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
            \Illuminate\Session\Middleware\StartSession::class,
            \Illuminate\View\Middleware\ShareErrorsFromSession::class,
            \App\Http\Middleware\VerifyCsrfToken::class,
            \Illuminate\Routing\Middleware\SubstituteBindings::class,
        ],

        'api' => [
            // \Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class,
            'throttle:api',
            \Illuminate\Routing\Middleware\SubstituteBindings::class,
        ],
    ];

    /**
     * The application's route middleware.
     *
     * These middleware may be assigned to groups or used individually.
     *
     * @var array<string, class-string|string>
     */
    protected $routeMiddleware = [
        'auth' => \App\Http\Middleware\Authenticate::class,
        'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
        'auth.session' => \Illuminate\Session\Middleware\AuthenticateSession::class,
        'cache.headers' => \Illuminate\Http\Middleware\SetCacheHeaders::class,
        'can' => \Illuminate\Auth\Middleware\Authorize::class,
        'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
        'password.confirm' => \Illuminate\Auth\Middleware\RequirePassword::class,
        'signed' => \App\Http\Middleware\ValidateSignature::class,
        'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
        'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class,
        'ceklevel' => \App\Http\Middleware\CekLevel::class,
    ];
}


WEB

<?php

use Illuminate\Support\Facades\Route;
use App\Http\Controllers\Controller;

/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/

// Route::get('/', function () {
//     return view('welcome');
// });

Route::get('/', function () {
    return view('login');
});
Route::get('/', [Controller::class, 'login'])->name('');
Route::get('/register', function () {
    return view('register');
});
Route::POST('/masyarakat', [Controller::class, 'masyarakat']);
Route::POST('/postlogin', [Controller::class, 'postlogin']);

//mamsyarakat
Route::group(['middleware' => ['auth:masyarakat']],function () {
    Route::get('/tambah-pengaduan', function () {
        return view('tambah-pengaduan');
    });
    Route::POST('/pengaduan-proses', [Controller::class, 'pengaduanproses']);
    Route::get('/data-pengaduan/{nik}', [Controller::class, 'datapengaduan']);
    Route::get('/lihat/{id_pengaduan}/tanggapan', [Controller::class, 'lihattanggapan']);
   
   });
   //petugas
Route::group(['middleware' => ['auth:petugas','ceklevel:Admin,Petugas']],function () {
    Route::get('/beranda', function () {
        return view('index');
    });
    Route::get('/data-masyarakat', [Controller::class, 'datamasyarakat']);
    Route::get('/data-petugas', [Controller::class, 'datapetugas']);
    Route::get('/data-pengaduan-masyarakat', [Controller::class, 'datapengaduanmasyarakat']);
    Route::get('/tulis-tanggapan/{id_pengaduan}', [Controller::class, 'tulistanggapan']);
    Route::POST('/pengaduan-tanggapan/{id_petugas}/{id_pengaduan}', [Controller::class, 'pengaduantanggapan']);
    Route::get('/data-tanggapan', [Controller::class, 'datatanggapan']);
});

Route::group(['middleware' => ['auth:petugas','ceklevel:Admin']],function () {
    Route::get('/tambah-petugas', function () {
        return view('tambah-petugas');
    });
    Route::get('/data-petugas', [Controller::class, 'datapetugas']);
    Route::POST('/petugas', [Controller::class, 'petugas']);
});

Route::get('/logout', [Controller::class, 'logout']);



  


Komentar